1

そして、どうすれば修正できますか?

Passbook error [2013-03-22 11:10:28 -0700] 
Web service error for pass.com.example.purchase (https://www.example.com/): 
Server requested update to serial number '12345', but the pass was unchanged.

上記のエラーは、変更されていないパスの場合、1日に数回発生します。パスのいくつかは数ヶ月前のものです。

4

1 に答える 1

3

このエラーは、デバイスから次の場所への呼び出し時に発生します。

webServiceURL/version/devices/deviceLibraryIdentifier/registrations/passTypeIdentifier?passesUpdatedSince=tag

1つ以上のシリアル番号を返し、Webサービスは次の呼び出し302に対して応答(または200応答ですが、同一の.pkpassバンドルを配信します)を返します。

webServiceURL/version/passes/passTypeIdentifier/serialNumber

応答の場合、200Webサービスが最後に変更されたヘッダーを無視し、変更されていない完全なパスデータを返したことを警告する2番目のエラーメッセージを受け取ります。

通常、デバイスはプッシュ要求に続いて更新されたシリアルを要求します。このような場合、パスは通常変更されており、アラートはトリガーされません。

ただし、Passbookは再起動直後に更新シリアルも要求するため、最近インストールされたPassbookライブラリがサービスを呼び出して利用可能な更新があるかどうかを確認するため、最近の6.1.3iOS更新が原因でこれらのメッセージの波が表示される場合があります。古いパスには継承されています。

また、Passbookは、によって更新された雑誌を要求していることにも注意してくださいpassTypeIdentifier。1つのパスに対してプッシュ要求を発行しているが、デバイスに同じパスの他のパスが含まれているpassTypeIdentifier場合、Webサービスがこれらの古いパスのシリアル番号で誤って応答している可能性があります。

これを修正するには、「シリアル番号の取得」呼び出しを処理するロジックを調べて302、「パスの最新バージョンの取得」呼び出しに応答するシリアルが返されないようにする必要があります。

このエラーの精神は、デバイスのキャッシュ効率を最大化し、不要なパスのダウンロードから人々のデータプランを保護することです(.pkpassバンドルは500kbを超えることが多いため)。

于 2013-03-23T03:27:28.580 に答える