ようやくiphoneアプリができたので実機のiPhone8で動きをテストしてみようと思います。
本来はもっと完成度を高めてAppstoreで公開したいと思っていたのですが年間費用がかかるので実機検証までにとどめておこうと思ったのです。
さて今日の記事はテックキャンプでの学習してきたことの(個人的な)最終章ということでiPhoneで作ったアプリを動かすところまでをお伝えしたいと思います。実は実機で動かせるようになるまで結構大変でエラーもよく出てたので備忘録としても残しております。
1.XCodeで設定
画面上部のXcode→Preferencesとすすみます。
2.Accounts
この画面が出るのが画面左下にある+ボタンをクリックします。
3.
Apple IDを選択してContinueをクリックします。
4.
自分のApple IDとパスワードを入力してNextをクリック。
5.Apple IDが追加されました。ここから証明書を取得していきます。
この画面がでたら右下の「Manage Certificates」をクリック。
6.
iOS Developmentを選択して、Doneをクリック。
7.証明書が作成されます
8.iPhoneを接続する
このタイミングでiPhoneをmacにUSB接続します。できれば純正のUSBケーブルがよいと思いますが、市販のUSBケーブルでも大丈夫でした。充電専用のUSBケーブルでは駄目でした。
9.XCodeのほうでシミュレーターではなくて実機のiPhoneを選択します
iPhoneを接続したらXCodeの画面上部のプロジェクト名の右横をクリックして
実機のiPhoneを選択しましょう
10.Xcodeで三角ボタンをクリックしてBuild&Runを行います
これで実機で作ったアプリが起動して動かせるようになるらしいのですが、私の場合はここからエラーが出たりしてうまくいきませんでした。いくつかのエラーを解消した方法を記していきます。
エラーが2個でた。
Code Signing Error
! Signing for “peekaboo” requires a development team. Select a development team in the project editor.
! Code signing is required for product type ‘Application’ In SDK ‘iOS 11.4’
これを解消するには以下のように操作します。
Xcodeの左側のところからプロジェクトを選択し、画面右側に出てくるところで設定を行います。画面中央あたりにSigningという項目がありその中にTeamの項目があり「None」になっているので、自分のアカウントを選択します。
これでもう1度XCodeでBuild&Runを実行しました。
今度はパスワードを求められます。
Codesignは、キーチェーンに含まれるキー”access”へアクセスしようとしています。
許可するにはキーチェーン”ログイン”のパスワードを入力してください。
私はキーチェーンが何を意味しているのか意味がわからなかったのでApple IDのパスワードを入力して許可したのですが駄目でした。よくわからなくていったんキャンセルしました。
もしかしたらmacのログインパスワードかも?と思い
その後もう1度Build&Runボタンを押したら今度はキーチェーンログインパスワードが出てこなくなり、かわりにエラーが出るようになってしまいました。
Swift stdlib tool Error
! Task failed whth exit 1 signal 0 {
このエラーの意味もよくわからず手詰まり状態になりました。
テックキャンプのメンターに問い合わせたところ以下の回答を得ました。
感じています。
似たような現象を解決したという記事があったので
送らせていただきます。https://XXXXXX
読んでも今の私には意味がわからなくて途方にくれました。終わり。
やくたたず!
orz
って諦めてたけど3日後にまたやりなおしてみました。
とりあえずiOS Developmentの証明書を作成するところからやりなおしました。
またキーチェーンログインパスワードを求められたので、ちょっと調べ物。
ここが参考になるかもしれません。→https://support.apple.com/ja-jp/HT201609(既に記事が無いやんけ!)
けど私にはやはり読んでも意味がわからなかったですが。
こんどはmacのパスワードを入力し「常に許可」をクリックしたらうまくいきました。
ネット上のいろいろをさまよってる時にキーチェーンログインパスワードを入力したら「許可」ではなくて「常に許可」を選んだらうまくいったという書き込みをよく見かけたので、先輩にならってそうしました。
ここでまたエラーが。
Development cannot be enabled with your device is locked
Please unlock your device and reattach. (0xE80000E2).
iPhoneの画面がロックされてるのかなーと思って、ホームボタンを押してロックを解除しましたがそれだけでは駄目でした。引き続き以下の操作を実施。
iPhoneのUSB接続をはずして
iPhoneの画面から設定→一般→リセット→位置情報とプライバシーをリセット
iPhoneをもう1度USB接続する
これでさっきのエラーが消えました。けどまた別なエラーがでました。
Could not launch “peekaboo”
Verify the Developer App certificate for your account is trusted on your device. Open Settings on iPhone and navigate to General -> Device Management, then select your Developer App certificate to trust it.
どうやらiPhone側で作ったアプリを信頼する操作をしないと駄目なようです。AppStoreにあるやつは信頼されてるけど、そうじゃないから信頼操作をしないとだめ、てことなんでしょうね。iPhoneで以下の操作を実施。
設定→一般→デバイス管理→デベロッパAppを選択→○○を信頼
これでiPhoneにアプリがインストールされて起動できました。
作ったアプリがiPhoneの実機で動かすことができたのでよかったです。
テックキャンプで2カ月受講し一通りここまででできました。本当はいくつかの子供向けアプリを作って広告を載せたり、すでに作ってある自作のWEBアプリと連携したいと思っていたのですが諸事情により保留にしました。
まぁ僕みたいな初心者でも2カ月でココまではこれますよという物差しになったかなと思います。
もしテックキャンプ受講を検討している方がいたら参考になれば幸いです。