私は、プッシュ通知を受け取ることができるシンプルでシンプルなiOSアプリを作成するために非常に一生懸命努力しています。これを行う唯一の理由は、他のチームメンバーが使用する手順を確立するためであり、そのような手順の最新の作業バージョンをWebの他の場所で見つけることができませんでした。当店はiOS開発者にとってかなり新しいものですが、私は個人的にiOS開発者とXcodeに完全に不慣れです。私は、Appleや他の場所からの数十のチュートリアル、記事、およびトラブル投稿を偶然見つけました。
ここで私がしなければならないことです(私はXcode 4.3を使用していて、最初にiOS 5.1のみにデプロイしようとしていることに注意してください。最近のXcodeのバージョンと比べて、最近変更されたものがあるかもしれませんが、再びすべてに新しいですこれ-そしてそれを完全に混乱させ、複雑にしてください):
1)プッシュが有効になっているiPhoneにプロビジョニングプロファイルを持っています
2)テストXcodeプロジェクトで、署名プロファイルとして選択されたプロビジョニングプロファイルを取得しました(ビルド設定>コード署名で)
3)[概要と情報]> [カスタムiOSターゲットプロパティ]にバンドルIDが正しく設定されています*(私はそう思いますか?)
4)デリゲートのdidFinishLaunchingWithOptionsで呼び出されるregisterForRemoteNotificationTypesを取得しました
5)デリゲートにdidRegisterForRemoteNotificationsWithDeviceTokenとdidFailToRegisterForRemoteNotificationsWithErrorがあり、それぞれデバイストークンまたはエラーを記録するように設定されています
6)[概要]で[資格を有効にする]をオンにしました。
7)選択した資格ファイルのすぐ下にTinker6(私のテストプロジェクトの名前)があり、これは[資格を有効にする]をオンにしたときに自動的に生成されました。
8)Tinker6.entitlementsファイルには、次の情報が含まれています(私が収集したものは、Web上のさまざまな投稿に基づいて正確ですが、Apple自体からの決定的なものは見つかりません)。
更新しました
9)また、資格ファイルなしですべてを試してみましたが、基本的に同じ結果が得られました。
10)私のmobileprovisionファイルの内容には資格が適切に含まれています(私は数とドメインをスクランブルしましたが、構造的には同じです):
<key>application-identifier</key>
<string>12355456A7.com.whatever.tinker</string>
<key>aps-environment</key>
<string>development</string>
<key>get-task-allow</key>
<true/>
<key>keychain-access-groups</key>
<array>
<string>12355456A7.*</string>
</array>
/更新を終了
デバイスでこれを実行しようとすると、Xcode出力に次のエラーが表示されます。
2012-06-11 12:45:23.762 Tinker6[13332:707] Failed to get token, error:
Error Domain=NSCocoaErrorDomain Code=3000 "no valid 'aps-environment'
entitlement string found for application" UserInfo=0x24a3b0
{NSLocalizedDescription=no valid 'aps-environment' entitlement string
found for application}
get-task-allowをNOに、aps-environmentをproductionに、4つの可能な組み合わせすべてを同じに設定してみました。
どうすればこれを乗り越えることができますか?これに関する決定的な文書はどこにありますか?
- 詳細な背景を次に示します -
*バンドルIDに関しては、プロビジョニングプロファイルのアプリIDとプロファイルIDとの関係でこれをどのように設定する必要があるかについては、まだ明確ではありません。アプリIDの下のプロビジョニングポータルで、これがあります(ここでも、番号とドメインをスクランブルしました)。
そして2つの場所のバンドルIDが設定されています私はこれを持っています:
これらが正しいかどうか、またはどちらか一方または両方を12355456A7.com.whatever.tinkerに設定する必要があるかどうかは、まったくわかりません。
なお、私は似たタイトルの多くの記事があります実現、しかし、彼らはすべてのファイル名に基づいており、その前後一定アウト日のように見える、とソリューションの事実はいずれも有用であると思われるありません。私が提供したより詳細なレベルで、質の高い応答が保証されることを期待しています。私はおそらくできるだけ早くバウンティを割り当てます。あなたが解決策につながる高品質の答えを与えると、私はあなたにバウンティを授与し、Twitterと私のブログを介してあなたの答えを宣伝します。特に、クロスポスト投稿の場合、ブログなどで、「プロビジョニングなど、シンプルなプッシュ通知アプリを動作させるために必要な 500の手順をここに示します」という記事は非常に優れています。