Androidはワンツーパンチ 三歩進んで二歩下がる

プログラミングやどうでもいい話

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

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のチームを選択します。

f:id:sakura_bird1:20171110011409j:plain

(注:上のスクショは上手くいっている状態です。)

あとは実機の設定で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

に変更しました。

f:id:sakura_bird1:20171110012537p:plain

以上です。