投稿日:2016年05月26日

0. 環境

[CentOS] 6.4 (64bit版カーネル)
[PHP] 5.4.17

1. XORでトグル処理

  • 押すたびにON/OFFが切り替わるようなトグル処理を実装する場合はXORが便利です。

    6行目、11行目 : 「XOR 1」するとビットが反転する性質を利用します。(下記)

    XOR

    入力①0011
    入力②0101
    出力0110

投稿日:2016年05月26日

0. 環境

[CentOS] 6.4 (64bit版カーネル)
[PHP] 5.4.17

1. ORとANDで状態管理

  • 複数の状態や権限をまとめて管理したい場合、2進数が便利です。

    2-5行目 : 2進数の定数(10進数表記)を用意します。

    7行目 : ORでプログラミング言語を足していきます。

    Aさんが使える言語の位にビットが立つイメージです。(下記)

        0001 (PHP)
        0010 (Ruby)
    OR) 1000 (Perl)
    ----------
        1011 (Aさんが使えるプログラミング言語)
    

    11行目以降 : Aさんが使えるプログラミング言語は何か、ANDで問い合わせます。

    右端の位にビットが立っていれば結果がtrueになり、PHPが使えることが分かります。(下記)

         1011 (Aさんが使えるプログラミング言語)
    AND) 0001 (PHP)
    ----------
         0001 (PHPが使える)
    

投稿日:2016年05月14日

0. 環境

[CentOS] 6.4 (64bit版カーネル)
[Apache] 2.2.15
[Firefox] 46.0.1

1. Let's Encryptのコマンド変更

  • 証明書を更新した際、 「letsencrypt-autoコマンドはもう古いよ」という警告が出たので、更新したいと思います。

2. 更新作業(【】はマスク情報)

  • Let's Encryptがβ版の時はgit cloneして /usr/local/src/letsencrypt ディレクトリを作成しましたが、今回はそれとは別ディレクトリを作成します。

    # cd /usr/local/src
    # git clone https://github.com/certbot/certbot
    # cd certbot
    

    疑似実行したところ成功したようなので、証明書の期限が迫ってきたら dry-run なしで実行してみたいと思います。

    # ./certbot-auto renew --dry-run(省略)
      :
    Congratulations, all renewals succeeded. The following certs have been renewed:
    /etc/letsencrypt/live/【ドメイン名】/fullchain.pem (success)
    ** DRY RUN: simulating 'certbot renew' close to cert expiry
    **          (The test certificates above have not been saved.)
    

参考ページ

投稿日:2016年05月08日

0.環境

[OS] Mac OS X 10.11.4
[IDE] Xcode 7.3
[iOS] 9.3
[watchOS] 2.1

※MacとiPhoneはUSBケーブルで接続。
※iPhoneとAppleWatchはペアリング済み。

1.問題 (文中【】はマスク)

  • AppleWatch用のサンプルプログラムを実機で動かそうとしたら下記3つのエラーが出ました。

    エラー1

    A build only device cannot be used to run this target.

    No supported watchOS devices are available. Pair a device to run your application or choose a simulated device as the destination.

    エラー2

    Could not launch '【アプリ名】 WatchKit App' on 【iPhoneデバイス名】

    OS version lower than deployment target

    エラー3

    Can't install application

    【アプリ名】 WatchKit App.app cannot be installed on 【AppleWatchデバイス名】.

    The Info.plist in 【アプリ名】 WatchKit App.app specifies a minimum iOS version of 2.2 which is too high to be installed on 【AppleWatchデバイス名】.

2.手順

  • AppleWatch実機のOSバージョンとXcodeで指定しているターゲットバージョンが異なるようだったので、下記の変更を行ったら実機にインストールされました。

    プロジェクトナビゲーターで該当プロジェクトを選択。

    "Build Settings"を選択してターゲットを表示。(A-1、A-2)

    watchOSのバージョンを実機に合わせます。(僕の場合2.2→2.1に変更) (A-3)

    ("WatchKit App"の方を変更すると、"WatchKit Extension"の方も変わります)

    ターゲットバージョン変更

    いくつかサンプルプログラムを作ってて、なぜこれだけターゲットバージョンがデフォルトで2.2になっていたのか不明です。

 更新日:2016年05月11日

投稿日:2016年05月07日

0.環境

[OS] Mac OS X 10.11.4
[IDE] Xcode 7.3
[iOS] 9.3
[watchOS] 2.1

※MacとiPhoneはUSBケーブルで接続。
※iPhoneとAppleWatchはペアリング済み。

1.問題

  • AppleWatch用のサンプルプログラムを実機で動かしていたら、下記エラーが出るようになりました。

    Unable to add App ID

    Unable to add App ID because the '10' App ID limit in '7' days has been exceeded.

    「7日間で10個のアプリID制限を超えたため、アプリIDを追加できません」か。。。

    Webで調べたところ回避策は2つありましたが、シンプルそうな①をやってみました。

    ① Xcodeに新しいApple IDを追加して、それを使ってインストール

    ② 既に実機にインストール済みのアプリの Bundle ID を使い回す

2.手順 (文中の【】はマスク)

  • Xcodeに新しい Apple ID を追加

    アプリの[General]-[Team]をクリックし "Add an Account" を選択します。

    AppleID追加

    Xcodeに追加するApple IDを要求されますが、未作成なので"Create Apple ID"をクリック。

    サインイン

    必要項目を入力していくと、最後に「入力したメールアドレス宛てにメールを送ったから確認してね」と表示されます。

    email確認

    上記メールアドレス宛てに確認メールが届いているので、メール文中の"今すぐ確認"をクリックして登録を完了させます。

    再度、手順の最初に戻って、"Add an Account"を選択し、登録したての新しいApple IDを入力します。

    新しいApple IDを選択すると下記のメッセージが出るので"Fix Issue"→"Choose"をクリックして解消します。

    【注意】ダイアログ内のプルダウンで新しいApple IDが選択されているか再度確認して下さい

    Fix Issue

    そのままアプリをビルド&起動すると署名関係の警告が何度か出ますが、"Fix issue" をクリックしていくと実機でアプリが実行できました。

参考ページ

【免責事項】

本ブログのご利用につき、何らかのトラブルや損失・損害等につきましては一切責任を問わないものとします。