XCodeでiPhoneアプリ開発時に実機で実行するまでの設定


XCodeでiPhoneアプリ開発時に実機で実行するまでの設定

XCodeで開発したiPhoneアプリを実機で実行しようとした際に、証明書や鍵の設定がいるらしい。
自動的に作って設定してくれるとなっていたので、それに任せたらはまった。今後のために設定までのログを残す。
XCode上で、先に秘密鍵まで作成した後、キーチェーンアクセスで鍵の設定を変更、そのあとアプリを実行するとうまく動作する。
とりあえず、アプリを実行してみたらはまった。
Web上のアカウント設定で色々いじれば、解決するという情報ばかりで、
開発アカウントに登録していない場合は、その機能を利用できないので、なかなか解決方法が見つからなかった。

Mac: 10.13.6 High Sierra
XCode: 9.4.1
iOS: 10.2

正常パターン

はまったのを無理やり直した結果なので、多少手順が異なっているかも。
キーチェーンアクセスアプリでの設定が特に重要で、
iOS Developerの秘密鍵の使用をすべてのアプリケーションに許可 しないと、実行時にログインパスワードを入れても何故か通らない。
拒否するとはまる。

XCode上での設定

  1. XCode
  2. Preference
  3. Accounts
  4. AppleIDを追加
  5. ManageCertifications
  6. 左下+ボタン:iOS Development

キーチェーンアクセスアプリでの設定

  1. iOS Developer:秘密鍵の情報
  2. この項目の使用をすべてのアプリケーションに許可
  3. ログインパスワード入力

XCode 上での開発

  1. iPhoneを接続
  2. XCode のDeviceで実機を選択
  3. 実行
  4. パスワードを聞かれるので、ログインパスワードを入れて、常に許可をクリック

はまったパターン

いきなり実行する

  1. 上記のキーチェーンアクセスでの設定を飛ばして、いきなりコードを実行しようとすると、パスワードを入れろと出る
  2. ログインパスワードを入れても許可できない
  3. キャンセルできないので、仕方なく拒否を押すと、実機に対して二度と実行できなくなる

証明書を削除してもう一度Certificationを作成しなおそうとする

  1. キーチェーンアクセスの証明書にあるiPhone Developer..を全て削除する
    1. 再度XCodeのManageCertificationsから、キーを追加しようとしても、既にあるというようなことを言われて追加できない
    2. しかし、認証をオート設定にしてあると、何かを試す度に同じ証明書をどんどん作成し、エラーを出す
  2. キーチェーンアクセスの環境設定から自分のデフォルトキーチェーンをリセットしようとする
    1. この操作の認証を得ることができませんエラーが起き、進まない

はまった場合の解決策

2番目が特に重要
とりあえず、はまったらPCを再起動すれば、何故か動作する

  1. キーチェーンアクセスの証明書にあるiPhone Developer:...を全て削除する
  2. PCを再起動する
  3. 正常パターンをやり直す

結論

困ったら再起動すれば、動く。
イツノうぃんどうずダ。。