iOS 開発の XCode において、引っかかりやすいところ
(1) ビルドの設定が反映されない
プロジェクト(PROJECT)とターゲット(TARGET)では、ビルドの設定などが別になる。
プロジェクトの方の設定はターゲットの方に継承され、ターゲットの方で変更したものはターゲット設定の方が優先(上書き)されるようだ。
ビルド設定などがうまく反映されないときはターゲットに対するビルド設定を確認する必要がある。
(2) Archive Type が Mac App Archive になってしまう
Info.plist がバンドルリソースへコピーする設定になっている。
ターゲットの設定の、Build Phases → Copy Bundle Resources に Info.plist が含まれている場合は、このリストから外すように設定する。
やり方は、プロジェクトの Info.plist ファイルを選択し、右ペインなどにある Target Membership にある該当ターゲットへのチェックを外す。
チェックが入ったままでもデバッグでのビルドは実行できるが、2回に1回実行に失敗するという状況に陥る。
(3) Ad-Hoc 配信で「ダウンロードできません」になってしまう
【チェックポイント】
・Provisioning Profile に該当デバイスが含まれているか?
iOS Provisioning Portal
→ Provisioning
→ Distribution タブ
→ 該当 Provisioning Profile の Edit
・Distribution Method は Ad Hoc になっているか?
・App ID は該当アプリのものか?
・Devices にインストールする該当デバイスは含まれているか?
・Archive ビルド時に Scheme ターゲットが iOS Device になっているか?
★Archive ビルド時は Mac につながっている全ての iOS を外す必要あり
なんらかの iOS デバイスがつながっていると、そのデバイス専用のバイナリになるみたい…
・URL が合っているか?
Organizer から Distribute するとき、Save for Enterprise Distribution を利用する場合…
{例}http://zzzz.jp/abc.ipa をダウンロードさせたいとすると、
・Save As は abc
・Application URL: は http://zzzz.jp/abc.ipa
として出力し、ダウンロード HTML のリンク部は
<a href="itms-services://?action=download-manifest&url=http://zzzz.jp/abc..plist">ここからダウンロード</a>
とする