白峯のソース

IT なことのメモなど

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>
    とする