Добавить в сберкнижку не работает

У меня много проблем с этим, и я, наконец, решил приехать сюда. Мне кажется, что я совершаю ошибку нуба. Я создал пропуск Passbook и использую PKAddPassesViewController для его добавления. Когда я предъявляю пропускной контроллер, пропуск отображается правильно. Однако, когда я решаю нажать «добавить», ничего не происходит, ничего не регистрируется или что-то еще. После исследования я добавил делегата, и метод делегата выглядит следующим образом:

-(void)addPassesViewControllerDidFinish:(PKAddPassesViewController *)controller
{
[self dismissViewControllerAnimated:YES completion:nil];
}

Однако вместо обычного анимированного закрытия контроллер закрывается при сбое приложения, но вместо этого переходит к предыдущему контроллеру представления. Это абсолютно сводит меня с ума, и любая помощь будет очень признательна :)

Спасибо.


person virindh    schedule 30.04.2013    source источник


Ответы (1)


addPassesViewControllerDidFinish — это необязательный метод делегата, который вызывается после закрытия контроллера представления PKAddPassesViewController. В вашем случае ваш код может дать сбой, потому что вы пытаетесь отклонить родительский контроллер представления (я).

Когда «ничего не происходит» при добавлении пропуска, обычно это происходит из-за того, что пропуск недействителен. Подпись прохода не проверяется до тех пор, пока не будет нажата кнопка «Добавить», поэтому это может объяснить, почему вы видите отображаемый проход, но затем он исчезает после нажатия кнопки «Добавить». Если все работает так, как ожидалось, если вы нажмете «Отмена», то, вероятно, это ваша проблема.

Чтобы получить больше информации о том, что происходит с пропуском, включите «Дополнительное ведение журнала» в настройках разработчика на вашем устройстве, затем проверьте журнал консоли устройства (из Организатора), когда вы пытаетесь добавить пропуск, чтобы убедиться, что он дает какие-либо подсказки относительно того, почему добавление терпит неудачу.

person PassKit    schedule 30.04.2013
comment
Я пробовал все, что здесь упоминалось, однако проблема не в моем собственном приложении. Я попробовал пример кода паспорта от raywendelich, и он все еще не работал! Затем я попробовал несколько телефонов, и это все равно не сработало, так что здесь явно что-то происходит... - person virindh; 30.04.2013
comment
Загружается ли ваш пропуск на устройство, если вы добавляете его через URL-адрес или почтовое вложение? Если пример кода не работает, то виновата переменная Pass. Что происходит, когда вы нажимаете кнопку отмены? - person PassKit; 30.04.2013
comment
В этом случае я почти на 100% уверен, что проблема связана с пакетом .pkpass. - person PassKit; 01.05.2013
comment
Это сработало, в конце концов я нашел причину ошибки и исправил ее с помощью инструмента Apple Signpass. Спасибо. - person virindh; 01.05.2013
comment
Рад, что вы исправили это. Если вас интересует более простой способ динамического создания и подписания пропусков, вы можете ознакомиться с нами - person PassKit; 01.05.2013