3

開発証明書を使用する場合、プッシュ通知は正常に機能しています。アドホックディストリビューションで本番証明書に切り替えたとき、アプリはプッシュ通知の登録に失敗します。UIApplicationDelegateでは、呼び出されることも呼び出されることもdidRegisterForRemoteNotificationsWithDeviceTokenありませdidFailToRegisterForRemoteNotificationsWithErrorん。さらに、デバイスログを調べたところ、次のことがわかりました。

Sep 30 12:47:09 Heshams-iPad amfid[483] <Error>: entitlement 'aps-environment' has value not permitted by a provisioning profile
Sep 30 12:47:09 Heshams-iPad amfid[483] <Error>: entitlement 'application-identifier' has value not permitted by a provisioning profile
Sep 30 12:47:09 Heshams-iPad amfid[483] <Error>: entitlement 'aps-environment' has value not permitted by a provisioning profile
Sep 30 12:47:09 Heshams-iPad amfid[483] <Error>: entitlement 'aps-environment' has value not permitted by a provisioning profile
Sep 30 12:47:09 Heshams-iPad amfid[483] <Error>: entitlement 'application-identifier' has value not permitted by a provisioning profile

プロビジョニングプロファイルのエンタイトルメントキーは次のようになります。

<key>Entitlements</key>
<dict>
    <key>application-identifier</key>
    <string>KUK8W9TW2G.com.startappz.ConversableDemo</string>
    <key>aps-environment</key>
    <string>production</string>
    <key>get-task-allow</key>
    <false/>
    <key>keychain-access-groups</key>
    <array>
        <string>KUK8W9TW2G.*</string>
    </array>
</dict>

Xcodeとポータルの両方からプロビジョニングプロファイルを削除して再作成しようとしました。また、証明書を取り消して再作成しようとしました。アプリIDも変更し、すべてをゼロから行いました。

また、個別のエンタイトルメントファイルがある場合とない場合でビルドを試みました。

アップデート

現在、配布プロビジョニングプロファイルを使用してデバイスでデバッグしています。これで、アプリは本番サーバーでプッシュ通知を正常に登録および受信しますが、アプリをアーカイブするとプッシュ通知が中断されます。

だから今、私はアプリをアーカイブするときにXcodeが何かを台無しにしているとほぼ確信しています。

4

2 に答える 2

2

サーバーのAPNSスクリプトを変更しましたか?

ssl://gateway.sandbox.push.apple.com:2195である必要があります。ssl://gateway.push.aple.com:2195および

development_certificate.pemは次のようになります。Production_certificate.pem

于 2012-09-30T12:16:41.527 に答える
1

私は正しく推測していました、Xcodeはアプリをアーカイブするときに確かに何かを台無しにしていました。[エンタープライズまたはアドホック展開用に保存]を選択した後、コード署名IDドロップダウンメニューにチーム名が「(null)」と表示されていました。

ここに画像の説明を入力してください

コード署名IDを更新した後、正しく表示されるようになり、アドホックipaが登録され、デバイスで通常どおりプッシュ通知を受信するようになりました。

于 2012-10-01T09:15:01.650 に答える