有名なエラーが表示されます:
トークンの取得に失敗しました、エラー: エラー ドメイン=NSCocoaErrorDomain コード=3000 "アプリケーションの有効な 'aps-environment' 資格文字列が見つかりません" UserInfo=0x413be0 {NSLocalizedDescription=有効な 'aps-environment' 資格がありませんアプリケーションで見つかった文字列}
次のファイルを編集することで修正できます。
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk/Entitlements.plist
そして、次のように aps-environment キーを手動で追加します。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>application-identifier</key>
<string>$(AppIdentifierPrefix)$(CFBundleIdentifier)</string>
<key>aps-environment</key>
<string>development</string>
<key>keychain-access-groups</key>
<array>
<string>$(AppIdentifierPrefix)$(CFBundleIdentifier)</string>
</array>
</dict>
</plist>
次に、Xcode は次の場所にある aps-environment キーを含む正しい Xcent ファイルを生成しています。
/Users/mySelf/Library/Developer/Xcode/DerivedData/myApp-buauvgusocvjyjcwdtpewdzycfmc/Build/Intermediates/myApp.build/Debug-iphoneos/myApp.build/myApp.xcent
また、iPhone でアプリを実行すると、プッシュ用のデバイス トークンを生成できます。
これは、問題を解決するために私が見つけた唯一の方法です。
(このエラーが発生した場合に備えて、この情報を独自のトラブルシューティングに使用できます)
現在、同じ Xcode バージョン 4.6 を使用して、別のラップトップ (git と同期) で同じプロジェクトを実行しています。
この問題は、そのラップトップでは発生しません。
プロジェクト設定/プロビジョニング プロファイルなどは、両方のマシンですべて 100% 同じです。
(これについては私を信じてください)
Xcode 4.6 でこのような問題に遭遇した人はいますか?
おそらく、Apple のサポートでもチケットを開く必要があります。
別のよりエレガントなソリューションが利用可能かどうか疑問に思っています。
アップデート:
上記の修正は開発段階でのみ十分ですが、リリース段階では不十分です。