1

アプリで通帳パスを提供できません。ユーザーが「通帳に追加」ボタンをタップすると、アプリはサーバーに接続し、動的に作成された .pkpass ファイルをダウンロードして表示しようとします。iOS6 では、すべて正常に動作し、エラーもなく、パスは期待どおりに表示されます。しかし、iOS7 で試してみると、次のエラーが表示されます。

Invalid data error reading pass pass.com.domain.discount/2500000.
The passTypeIdentifier or teamIdentifier provided may not match your certificate, or the certificate trust chain could not be verified.
Error adding pass The pass cannot be read because it isn’t valid.

Web サービス リンクは https:// で、URL は有効な .pkpass ファイルを返し、コンテンツ タイプは application/vnd.apple.pkpass です。エラーが示唆するように、すべての情報(チーム識別子、passTypeIdentifier)証明書(WWDRも)も更新して確認しましたが、何も変わりません。iOS6 では動作するのに iOS7 では動作しないのは奇妙なことです。

どんな助けでも大歓迎です!

4

1 に答える 1

3

iOS6 デバイスと iOS7 デバイスの両方でパスの取り込みに失敗しています。

iOS7 ログ

Oct 21 12:11:23  passd[11897] <Warning>: Verifying structure and signature for pass pass.com.puma.trac.discount/2500000
Oct 21 12:11:23  passd[11897] <Warning>: Error evaluating trust:  [leaf CheckLeafMarkerOid]
Oct 21 12:11:23  passd[11897] <Warning>: Signature validation: *** FAILED ***
Oct 21 12:11:23  passd[11897] <Warning>: Invalid data error reading pass pass.com.puma.trac.discount/2500000. The passTypeIdentifier or teamIdentifier provided may not match your certificate, or the certificate trust chain could not be verified.

iOS6 ログ

Oct 21 12:43:25 #pfr passd[185] <Error>: Oct 21 12:43:25  SecTrustEvaluate  [leaf CheckLeafMarkerOid]
Oct 21 12:43:25 #pfr passd[185] <Warning>: Invalid data error reading pass pass.com.puma.trac.discount/2500000. The passTypeIdentifier or teamIdentifier provided may not match your certificate, or the certificate trust chain could not be verified.

あなたの署名を見ると、あなたの証明書なしでわかる限り、WWDC 証明書が含まれており、署名に使用された証明書のチーム ID が pass.json のチーム ID と同じであるように見えます。

既知の適切なパスの WWDC 証明書とあなたの WWDC 証明書の間にいくつかの小さな不一致が見られるので、最初に、WWDC 証明書をApple Web サイトの最新のものに置き換えます。

また、サーバー時刻と署名日時を確認し、Apple Developer サブスクリプションがまだ有効であることも確認してください。

サードパーティのライブラリを使用してパスに署名している場合は、署名日と WWDC 証明書の包含要件の両方を満たすように適切に更新されていることを確認してください。これらの要件が必須になって以来、多くの公共ライブラリは更新されていません。

于 2013-10-21T04:58:25.693 に答える