Appleの公式iOSチュートリアル「FoodTracker」をやってる最中に「無料で実機にインストールしてデバッグ」をどうしても出来なかったある理由
少し間が空いてしまったのですが、まだAppleの公式iOSチュートリアル「FoodTracker」を写経中です。
私の開発環境
Xcode9.1
Swift3.2
Base SDK Latest(iOS 11.0)
iOS Deployment target iOS10.0
現在チュートリアルのカスタムUIを作っているあたりです。
↓のリンクでAccessibilityの実装をしているところです。
Start Developing iOS Apps (Swift): Implement a Custom Control
Accessibilityについては公式サイトのこちらが詳しいです。
Accessibility on iOS - Apple Developer
AccessibilityにVoiceOverという機能があり、端末の設定画面からVoiceOverを有効にしておくと
UIをタップすると音声自動読み上げで
フィールドの説明や現在セットしている値、
アクションの説明などを喋ってくれます。
FoodTrackerでも一部のフィールドにAccessibilityのラベル、ヒント、フィールドの値
を設定しています。
しかし、シミュレーターだと声が出ないのです。
(この原因はまだ調べていないので、今は何が悪いのかはわかりません。)
そこで前からやりたかった実機にインストールをやってみようと思いました。
参考サイト様
qiita.com
参考サイト様を参考にさせていただき、
1.Xcode > Preference > Accounts
より+ボタンを押して、自分のApple IDを追加します。
2.1で表示したダイアログ のManage Certificates...を押します。
+ボタンを押して、ドロップダウンリストより「iOS Development」を選択します。
(既にありますよ的なメッセージが表示されるかもしれませんが、それはそれでOKです)
3.プロジェクト設定を開きます。
プロジェクトナビゲーターの一番上のXcodeアイコンのプロジェクト名をクリックし、Generalタブを選択します。
4.General > Signing > Team で1で追加したApple IDのチームを選択します。
(注:上のスクショは上手くいっている状態です。)
あとは実機の設定でApple IDを信頼してやればいいのですが、ここでエラーが出てしまいました。
エラーメッセージは「Failed to create provisioning profile」などとなっていて、
ちょうどここのサイトと同じような状態でした。
xcode - Failed to create provisioning profile - Stack Overflow
解決策もここの中に
xcode - Failed to create provisioning profile - Stack Overflow
何がエラーになってたかというと、bundle identifierがユニークでなかったのですね。
Androidですと、パッケージ名のようなものですが、
リリースしなければユニークでなくても問題なく
実機にインストール出来るので
おお、そういうものなのか、と感心しました(●´ϖ`●)
そこで、bundle identifierを変更して解決しました。
プロジェクト設定 > General > Identity > bundle identifierを変更しました。
私は
com.example.FoodTracker
↓
com.sakurafish.example.FoodTracker
に変更しました。
以上です。