2016-10-06 4 views
0

Я пытаюсь отправить новые данные pass json на свое устройство, чтобы обновить свой пропуск в Apple Wallet после части «Получение последней версии прохода "в this document.
Новые данные json - это точно такие же данные json, которые я использовал для создания прохода успешно, за исключением того, что backgroundColor изменен с # 3e7cc8 на # 000000 (для тестирования), но я все время получил ошибку «Invalid json data» ,
Вот успешные данных Создание JSONОшибка обновления Passbook. Пропуск не может быть прочитан, потому что он недействителен.

{ 
    "description":"description", 
    "formatVersion":1, 
    "organizationName":"organizationName", 
    "passTypeIdentifier":"passTypeIdentifier", 
    "serialNumber":"serialNumber", 
    "teamIdentifier":"teamIdentifier", 
    "foregroundColor":"#ffffff", 
    "backgroundColor":"#3e7cc8", 
    "labelColor":"#ffffff", 
    "barcode":{ 
     "message":"d568866a45dfc010ac680a9d06e5a48feb9216a2", 
     "messageEncoding":"utf-8", 
     "format":"PKBarcodeFormatQR" 
    }, 
    "logoText":"logoText", 
    "storeCard":{ 
     "headerFields":[ 

     ], 
     "primaryFields":[ 

     ], 
     "secondaryFields":[ 
     { 
      "key":"name", 
      "label":"", 
      "value":"Nick" 
     }, 
     { 
      "key":"points", 
      "label":"", 
      "value":"0 Points" 
     } 
     ], 
     "auxiliaryFields":[ 

     ], 
     "backFields":[ 
     { 
      "key":"email", 
      "label":"Email", 
      "value":"[email protected]" 
     }, 
     { 
      "key":"phone", 
      "label":"Phone", 
      "value":"+841689984964" 
     } 
     ], 
     "locations":[ 

     ] 
    }, 
    "authenticationToken":"authenticationToken", 
    "webServiceURL":"https://mydomain/passbook" 
} 

и недостоверные данные обновления

JSON
{ 
    "description":"description", 
    "formatVersion":1, 
    "organizationName":"organizationName", 
    "passTypeIdentifier":"passTypeIdentifier", 
    "serialNumber":"serialNumber", 
    "teamIdentifier":"teamIdentifier", 
    "foregroundColor":"#ffffff", 
    "backgroundColor":"#000000", 
    "labelColor":"#ffffff", 
    "barcode":{ 
     "message":"d568866a45dfc010ac680a9d06e5a48feb9216a2", 
     "messageEncoding":"utf-8", 
     "format":"PKBarcodeFormatQR" 
    }, 
    "logoText":"logoText", 
    "storeCard":{ 
     "headerFields":[ 

     ], 
     "primaryFields":[ 

     ], 
     "secondaryFields":[ 
     { 
      "key":"name", 
      "label":"", 
      "value":"Nick" 
     }, 
     { 
      "key":"points", 
      "label":"", 
      "value":"0 Points" 
     } 
     ], 
     "auxiliaryFields":[ 

     ], 
     "backFields":[ 
     { 
      "key":"email", 
      "label":"Email", 
      "value":"[email protected]" 
     }, 
     { 
      "key":"phone", 
      "label":"Phone", 
      "value":"+841689984964" 
     } 
     ], 
     "locations":[ 

     ] 
    }, 
    "authenticationToken":"authenticationToken", 
    "webServiceURL":"https://mydomain/passbook" 
} 

Что случилось с моими данными JSon обновляемых? Пожалуйста помоги.

+0

Если вы попытаетесь открыть проход на устройстве iOS, ведение журнала (например, с XCode), как правило, скажет вам точную проблему. – tomasmcguinness

+0

@tomasmcguinness Пасс создан успешно. Я столкнулся с проблемой, когда пытаюсь отправить данные обновления json после «Получение последней версии прохода» в [этом документе] (https://developer.apple.com/library/content/documentation/PassKit/Reference /PassKit_WebService/WebService.html#//apple_ref/doc/uid/TP40011988) –

+1

iOS все равно выдаст протоколирование, указывающее, почему обновление не выполнено. Когда вы отправляете push-уведомление, iOS должен пройти процесс опроса вашего API и сообщить, что он делает. – tomasmcguinness

ответ

0

Я не совсем уверен, но documentation состояние:

Цвет фон перевала, указанное в качестве CSS-стиля RGB тройного. Например, rgb (23, 187, 82)

Вы можете попробовать следовать формату, указанному в документации.

+0

Но он создан успешно с "backgroundColor": "# 3e7cc8". Anw, я попытаюсь изменить его на тройку RGB в стиле CSS. Благодарю. –

1

Если вы уверены, что единственное, что изменилось, это backgroundColor, то это предполагает проблему с явным/подписям или отсутствие изображения значка в обновленном комплекте. Может стоить разархивировать обновленный пакет и двойную проверку, он содержит то, что, по вашему мнению, должно содержать.

Существует вероятность того, что # 000000 вызывает кромку кромки (так как она равна нулю), но это может быть исключено с помощью быстрого теста другого тестового значения, такого как # ff0000.

Как указано в комментариях к Томасу, журналы устройств в Xcode должны сообщать вам точную причину сбоя.

+0

Мне интересно, нужно ли нам возвращать пакет или просто передавать данные json? –

+0

Вам нужно вернуть новый, полный, подписанный пакет. – PassKit

+0

ОК, спасибо большое –

Смежные вопросы