開発環境
OS X 10.9.5
Xcode 6.1.1 (6A2008a)
状況
TestFlight向けにArchiveしたビルドをAdHoc配信して起動した所、下記エラーが出力されるのを確認した
Appの有効な“aps-environment”エンタイトルメント文字列が見つかりません
ひとまずやったこと
- 対象アプリのAPNS証明書を全環境削除
- 対象アプリのProvisioning Profileを全環境削除
- 対象アプリのAPNS証明書を全環境作成
- 対象アプリのProvisioning Profileを全環境作成
- Xcode -> preferences -> (account) -> View Details の左下にある更新ボタンを押下
- Build SettingsでCode Signingの項目を適切に設定
Provisioning Profile関係で何かあったら大抵は5,6でコトは済むが、今回はそれでもダメだったので1から全て行った。
全部作り直しも常套手段だ。
それでも解決しなかったので調べた所、このStack Overflowがヒットした。
Xcode6 seems to reject any ad hoc profiles that do not include all registered devices.
原因と対応
確かに今回は全てのデバイスを選択していなかったので、改めて全て選択した上で上記5,6の手順を繰り返した。
これによるAdHocのipaでは、同じエラーは発生しなくなった。
aps_environmentのエンティティが含まれるかどうかは、こちらの方法で確認できる。