iOS Developer Program 更新後の作業
- Apple Developer Program Activation Codeが届く
- メールのアクティベーションコードをクリックし、Activation手続きを実行
- Provisioning Portalへ
>Member Center
>Certificates, Identifiers & Profiles
>iOS Provisioning Profiles - Certificate追加
ダウンロードし、ダブルクリックでキーチェーンに追加
更新前の同名のCertificateをキーチェーンから削除する。 - Provisioning Profile追加
ダウンロードし、XCodeにドラッグ&ドロップ
関連エラー
- Certificate identity 'iPhone Developer: MyName (XXXXXXXXXX)' appears more than once in the keychain. The code sign tool requires there only be one.
更新前の同名Certificateがキーチェーンに残っていると発生。
- Provisioning Profile 'MyApp Development' specifies the Application Identifier 'MyApp' which doesn't match the current setting 'MyApp'Provisioning Profiles
Certificate、Provisioning Profileの一方だけが更新されている場合に発生。
- No unexpired provisioning profiles found that contain any of the keychain's signing certificates
build対象のdeviceのprovisioning profilesに有効なものがない。
- simulatorが対象の場合はOKだが、iPhoneなどの外部deviceの場合にエラーが発生する場合
Organizerで当該deviceのprovisioning profilesをチェックする
不要なものを削除、必要なものを追加する - buildできるアプリとできないアプリがある場合
ProjectのBuildSettingでCode Settingをチェック
選択されているprofileのApp IDをProvisioning Portalでチェック
それに当該アプリのApp IDがマッチしているかチェック
当該アプリのApp IDにマッチするprovisioning profileを更新、または追加する
ProjectのCode Settingの設定が自動の場合、それまで選択されていたprofileが削除または無効になった場合に有効なものに置き換えられ、そのApp IDが当該アプリにマッチしなくなることがある。 - The entitlements specified in your application’s Code Signing Entitlements file do not match those specified in your provisioning profile. (0xE8008016).
何らかの理由でアプリに適用されたProvisioningでは対象Deviceにアプリを転送することが許されていない場合、といえるようです。
私の場合は追加したProvisioningにエラーが発生するdeviceを含めてなかったため発生しました。特定のDeviceでだけ発生するような場合は、Provisioningの設定にそのDeviceが含まれているかチェックしてみてください。
様々な理由があるようで、いくつかの対処策が書き込まれています。
http://stackoverflow.com/questions/5240801/the-entitlements-specified-profile-0xe8008016-error-ios-4-2
よくわからない場合はアプリに適用されているProvisioningをいったん削除し、再度作り直してみるのが手っ取り早そうです。