Создание загружаемых пропусков (*.pkpass) для сберегательной книжки Apple с помощью .Net

Мне нужно было разработать веб-сайт в .Net, который может создавать билеты на мероприятия, которые можно загрузить в виде файла сберегательной книжки (*.pkpass). Я пытался использовать. Библиотека Dotnet-passbook доступна в Nuget. Но любые созданные проходы не открываются в iPhone. Кто-нибудь сталкивался с этой проблемой? Любые другие предложения для выполнения этой задачи?


person Tharindu    schedule 15.06.2017    source источник
comment
Если вы можете скомпилировать пропуск, это, скорее всего, проблема с сертификатом или другой конфигурацией или содержимым (например, отсутствующий файл значка) и менее вероятно, что это библиотека.   -  person PassKit    schedule 15.06.2017
comment
спасибо за комментарий. да, он компилируется, и файл pkpass создается. но не работает внутри iphone. можно ли не открывать, если отсутствует изображение и т. д.?   -  person Tharindu    schedule 15.06.2017
comment
«Не работает» недостаточно для диагностики. Что показывают журналы iPhone, когда вы пытаетесь добавить пропуск? Они должны указать вам причину, по которой это не удается.   -  person PassKit    schedule 15.06.2017
comment
:Неверная ошибка чтения данных pass.com.cas.passbook/1212t. Предоставленный идентификатор passTypeIdentifier или teamIdentifier может не соответствовать вашему сертификату, или цепочка доверия сертификата не может быть проверена. : Не удалось добавить пароль: 'Error Domain=PKPassKitErrorDomain Code=1 Невозможно прочитать пароль, потому что он недействителен. UserInfo={NSLocalizedDescription=Невозможно прочитать пароль, потому что он недействителен. Code=1 Предоставленный идентификатор passTypeIdentifier или teamIdentifier может не соответствовать вашему сертификату, или не удалось проверить цепочку доверия сертификата.   -  person Tharindu    schedule 15.06.2017
comment
Убедитесь, что вы используете последний сертификат Apple WWDR. Срок действия того, что идет в комплекте с библиотекой, истек в феврале 2016 года.   -  person PassKit    schedule 15.06.2017
comment
Я скачал сертификат отсюда: apple.com/certificateauthority, срок его действия истекает в 2023 году.   -  person Tharindu    schedule 15.06.2017
comment
убедитесь, что имя вашей команды и passTypeId установлены правильно и соответствуют вашему сертификату.   -  person PassKit    schedule 15.06.2017
comment
Спасибо @PassKit. у меня есть решение. у меня другая проблема. я использовал mvc FileContentResult. но проходы не получают расширение *.pakpass. я использовал следующий код: byte[] generatePass = генератор.Генерировать(запрос); вернуть новый FileContentResult(generatedPass, application/vnd.apple.pkpass);   -  person Tharindu    schedule 19.06.2017


Ответы (3)


Я также создаю .pkpass с помощью C#, вы можете сослаться на мой прошлый вопрос, такой как создать вопрос pkpass.

Я думаю, что основная проблема заключается в том, что формат файла pass.json неверен. Простым методом тестирования файла .pkpass должно быть использование xcode и создание симулятора ios, перетащите файл .pkpass в симулятор. Журнал xcode покажет причину, по которой ваш файл не работает, надеюсь, это будет полезно.

person Yuk_dev    schedule 19.06.2017

Это решено. это сработало после использования «request.CertThumbprint» вместо местоположения со ссылкой на сертификат. Благодарю. поэтому ошибка проверяла сертификацию в проходах.

person Tharindu    schedule 19.06.2017

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

https://blogs.msdn.microsoft.com/vcblog/2017/04/18/android-and-ios-development-with-c-in-visual-studio/

здесь можно скачать, визуальная студия полная. https://www.visualstudio.com/en/downloads/

person genife    schedule 15.06.2017
comment
спасибо за комментарий. у меня VS полный. и это веб-разработка, а не мобильная разработка. мне нужно создать пропуски онлайн. например: github.com/tomasmcguinness/dotnet-passbook - person Tharindu; 15.06.2017
comment
О, хорошо, тогда вы имеете в виду веб-приложение? - person genife; 15.06.2017
comment
Я думаю, вы не можете внедрить фреймворк .net в веб-приложение, потому что для этого вам нужно создать приложение для предварительного просмотра с этой интеграцией, а затем создать функцию для создания нового приложения со смешанным контентом, ios и .net. , может быть, вам нужен другой ответ !, удачи - person genife; 15.06.2017
comment
Для этого webapp требуется конструктор приложений со смешанным содержимым :) - person genife; 15.06.2017
comment
посмотрите, books.google.com/ - person genife; 15.06.2017
comment
Хорошо, извините :( T_T. Это нужно больше, чем .net. Для сборки urapp нужен самозаверяющий сертификат .cer. - person genife; 15.06.2017
comment
Да, у меня есть все сертификаты Apple. сертификат для идентификатора типа прохода и AppleWWDRCA. - person Tharindu; 15.06.2017
comment
Но проблема в том, как сделать приложение passbok без xcode или apple framework? - person genife; 15.06.2017
comment
Прости. я не создаю сберкнижку. Я создаю пропуски (например, билеты), которые можно прочитать, используя приложение Apple Passbook (кошелек). - person Tharindu; 15.06.2017
comment
О, извините, все в порядке, но я не могу вам помочь :( - person genife; 15.06.2017