Я пишу код, связанный с StoreKit, и при попытке добавить покупку в очередь получаю довольно неприятные коды ошибок.
До сих пор я сталкивался с кодами ошибок -1003 и -1004, и я ничего не могу найти об этих кодах в Интернете.
Выполнение запроса продукта возвращает действительные номера продуктов, поэтому я не знаю, почему при [[SKPaymentQueue defaultQueue] addPayment:aPayment];
вызове этой недокументированной проблемы не удается выполнить вызовы .
Тот же код также работает без ошибок на одном устройстве, но не на другом.
Вопросы, которые у меня есть, пока остаются без ответа:
Что означают эти коды? Как я могу решить эту проблему? Почему они происходят для попыток покупки, а не для запросов продукта?
Устранение неполадок, которое я сделал, включает в себя восстановление сертификата подписи и профиля обеспечения, изменение сетей Wi-Fi, очистку, создание и переустановку всего связанного программного обеспечения и компонентов, и ни одно из этих действий по отдельности или вместе не помогло решить проблему.
РЕДАКТИРОВАТЬ:
Нашел обсуждение этого вопроса на форумах разработчиков Apple, но никто из Apple не ответил: https://devforums.apple.com/thread/107121?tstart=75 (для просмотра требуется учетная запись разработчика iOS)
РЕДАКТИРОВАТЬ:
Сегодня я получил код ошибки -1001, чтобы добавить к этому списку необъяснимых и периодически возникающих проблем. По-прежнему никакой ответственности от Apple, насколько я могу судить.
РЕДАКТИРОВАТЬ:
У меня есть подозрение, что эти коды ошибок генерируются случайным образом и на самом деле указывают только на то, что песочница не работает. Кто-нибудь еще испытывает эту проблему?
источник
NSURLErrorUnknown
. Какие-нибудь подсказки?У меня похожие проблемы, в моем случае, похоже, связанные с подключением к сети:
Что нужно проверить:
Извините, нет идей, как исправить. Просто отлаживайте это, пытаясь выяснить, в чем проблема (-1021, -1001, -1009)
Обновление: поиск Google был очень любезен, чтобы найти это:
источник
см. NSURLError.h Определить
источник
Я использую в своем проекте следующий метод
Затем я просто проверяю код ошибки и показываю предупреждение, если он есть в списке
Но, как вы можете видеть, я закомментировал коды, которые, на мой взгляд, не подходят под мое определение ОТСУТСТВИЯ ИНТЕРНЕТА. Например, код -1012 (Ошибка аутентификации). Вы можете редактировать список по своему усмотрению.
В своем проекте я использую его при вводе имени пользователя / пароля от пользователя. И, на мой взгляд, (физические) ошибки сетевого подключения могут быть единственной причиной для отображения представления предупреждений в вашем сетевом приложении. В любом другом случае (например, неверная пара имени пользователя и пароля) я предпочитаю сделать некоторую настраиваемую, удобную для пользователя анимацию ИЛИ просто повторить неудачную попытку снова без какого-либо внимания пользователя. Особенно, если пользователь явно не инициировал сетевой вызов.
С уважением к martinezdelariva за ссылку на документацию.
источник
Я обнаружил новый код ошибки, который не описан выше: CFNetworkErrorCode -1022
источник
<key>NSAppTransportSecurity</key> <dict> <key>NSAllowsArbitraryLoads</key> <true/> </dict>
Я нашел эту страницу в документации, в которой есть перечисление objective-c для всех кодов ошибок в NSURLErrorDomain.
https://developer.apple.com/library/ios/documentation/Cocoa/Reference/Foundation/Miscellaneous/Foundation_Constants/index.html#//apple_ref/doc/constant_group/URL_Loading_System_Error_Codes
источник