Я работаю над добавлением покупок из приложения в свое приложение.
Я могу получить productsRequest:didReceiveResponse
метод и получить массив продуктов.
Моя проблема возникает, когда я добавляю SKPayment в SKPaymentQueue . После добавления продукта в очередь в paymentQueue:updatedTransactions
методе транзакции всегда имеют состояние SKPaymentTransactionStateFailed .
Я NSLog "transaction.error", и вот что он возвращает: Error Domain = SKErrorDomain Code = 0 UserInfo = 0x165000 «Невозможно подключиться к iTunes Store»
Я вышел из Магазина в приложении "Настройки", но после попытки приобрести продукт в моем приложении он никогда не просит меня войти в систему с моей тестовой учетной записью. Он просто не работает с указанной выше ошибкой.
iphone
objective-c
in-app-purchase
storekit
Lucasharding
источник
источник
Ответы:
Я предполагаю, что вы выполнили стандартные проверки работоспособности: дважды проверили свой код, подтвердили идентификаторы продуктов, сравнили свой код с Руководством по программированию покупок в приложении и т. Д.
Это может быть нелепо, но - если вы уверены, что ваш код верен - выполните полный сброс настроек iPod (Настройки => Общие => Сброс => Стереть все содержимое и настройки). Я ломал голову над этой проблемой в течение нескольких часов - оказалось, что мой код был правильным, и полный сброс был решением.
источник
Я получал
SKPaymentTransactionStateFailed
код ошибки 0 « Не удается подключиться к iTunes Store », и благодаря thomax за этот ответ моя проблема решена. Оказывается, вы ДОЛЖНЫ ввести номер сборки в разделе «Цели-> Сводка» .Я провел последние 24 часа, перезагружая свой телефон, подкручивая iTunes и делая практически все, что мог придумать, прежде чем я наткнулся на это решение.
источник
У меня была такая же ошибка, но мне было предложено ввести мою тестовую учетную запись. А также всплывающее окно с сообщением «Произошла неизвестная ошибка». Оказывается, когда я создал свою тестовую учетную запись пользователя и вышел из настроек -> магазин, я решил войти в систему с моей тестовой учетной записью пользователя, которая запросила у меня кучу информации, включая биллинг, которая нарушила мою учетную запись тестового пользователя . Когда я создал новую тестовую учетную запись пользователя и вошел в нее только по запросу во время тестирования покупки в приложении, все работало гладко.
источник
Эта ошибка (например, «Ошибка! Не удается подключиться к iTunes Store») может возникнуть, если вы совершаете покупку в приложении в изолированной среде, но вошли в систему, используя свою обычную учетную запись Apple.
Я считаю, что если я выйду из своей учетной записи Apple перед покупкой в приложении, это поможет избежать путаницы. Затем в диалоговом окне «Войти» выберите вариант «Использовать существующий Apple ID» и введите данные тестового пользователя.
Просто помните, что это будет установлено в ваших настройках, поэтому вам нужно будет выйти из системы после завершения покупок в приложении.
Кроме того, использование другого идентификатора Apple ID сбрасывает различные настройки, связанные с iTunes, например iTunes Match.
источник
Вы можете проверить, работает ли следующая ссылка или истекает время ожидания:
https://sandbox.itunes.apple.com/verifyReceipt
В качестве альтернативы, ненаучный, но довольно надежный способ проверить, работает ли песочница, - это спросить по адресу:
https://devforums.apple.com/community/ios/connected/purchase
Если песочница не работает, вероятно, люди уже об этом говорят, как сейчас (18 января 2012 г., 18:40 по всемирному координированному времени).
источник
Я также столкнулся с той же ошибкой. Я понял, что ошибка возникает только на симуляторе, когда я переключился на отладку устройства, ошибка не появилась.
источник
Просто выйдите из своей учетной записи AppStore в настройках ...
Для меня проблема была решена, поскольку мое устройство было зарегистрировано с использованием моего обычного идентификатора Apple ID и поскольку покупки в песочнице всегда выполнялись с идентификатором тестового пользователя, устройство пыталось отправить мой обычный идентификатор Apple Store ID в «тестовый» App Store, в результате при этой ошибке «Не удается подключиться к iTunes Store».
Это самая частая причина, которую я видел на своем устройстве.
источник
Ударил с той же проблемой, я перезагрузил свое устройство, перепроверил идентификаторы, переустановил приложение. Также думал, что проблема в том, что я изменил ссылку и описание продуктов. На самом деле, мне кажется, это потому, что мой тестовый пользователь был заблокирован как несколько человек, использующих одну и ту же учетную запись, и есть вероятность, что проверка пароля не удалась несколько раз. Итак, я воссоздал еще одного тестового пользователя, и покупки в приложении снова начали работать. Надеюсь это поможет. Я был полностью озадачен этой ошибкой.
источник
Убедитесь, что ваши BundleID совпадают. Это была моя проблема.
источник
Даже полное восстановление не решило для меня эту проблему.
После вызова
addPayment
автоматически обновляемого идентификатора продукта прошло около одной секунды, прежде чем я получил ошибку «SKErrorDomain Code = 0» от StoreKit. Мне ни разу не предлагалось (как предполагает документация Apple ) ввести имя пользователя и пароль iTunes Store; транзакция просто не удалась.Чтобы решить эту проблему, мне пришлось добавить поддельный «расходный материал» в iTunes Connect и позвонить,
addPayment
используя идентификатор поддельного расходного материала. Это вызвало появление диалогового окна iTunes Store. Затем я вошел в систему с тестовой учетной записью, созданной в iTunes Connect. Это удалось: мое приложение получило уведомление о приобретении расходных материалов.После этого я смог позвонить
addPayment
с идентификатором автоматически обновляемого продукта и приобрести подписку в обычном режиме.источник
при тестировании этого материала убедитесь, что вы тестируете учетные записи пользователей песочницы, созданные из itunesconnect, а не ваш фактический идентификатор Apple для вашей личной учетной записи.
источник
Я подумал, что стоит упомянуть, что решение DonnaLea, заключающееся в том, чтобы входить в систему только при появлении запроса на оплату, также помогло решить ту же проблему с плагином Unity и Prime31 StoreKit. Попытка войти в систему через то же меню настроек, которое вы используете для выхода, предложит ввести всевозможные данные биллинга / адреса, которые, кажется, навсегда «сломают» эту тестовую учетную запись.
источник
Я оказался в такой ситуации, когда работал над добавлением покупок в приложении и сделал это не совсем правильно с первого раза. В моем случае у меня была ошибка в серверном PHP, и в результате я думаю, что не прошел весь путь до "finishTransaction:". Даже после того, как я исправил проблемы (я установил программу на отдельном устройстве и успешно приобрел), я продолжал получать «Вы уже приобрели это, нажмите, чтобы загрузить», а затем «Не удается подключиться к iTunes Store».
Я наконец заставил его перестать это делать, запустив игру из Springboard (а не из XCode). Он немедленно успешно обработал транзакцию и перестал предлагать мне повторную загрузку.
источник
Это похоже на принятый ответ выше. Я начал получать ошибку «не удается подключиться к магазину iTunes» при попытке войти в свою учетную запись iTunes на моем телефоне после входа в систему с учетной записью песочницы IAP.
Чтобы решить эту проблему, я смог просто выполнить сброс всех настроек вместо «Стереть все содержимое и настройки» (Настройки => Общие => Сброс => Сбросить все настройки). Определенно лучше, чем терять и переустанавливать все на своем устройстве.
источник
У меня была та же проблема, во-первых, я не создал тестовую учетную запись, поэтому я создал, получив помощь по этой ссылке https://developer.apple.com/library/ios/documentation/LanguagesUtilities/Conceptual/iTunesConnect_Guide/Chapters/ SettingUpUserAccounts.html # // apple_ref / doc / uid / TP40011225-CH25-SW10
Затем вам нужно выйти из своей текущей учетной записи на вашем устройстве. и покупка, покупка, он попросит учетную запись пользователя, затем войдите в тестовую учетную запись.
источник
У меня была такая же проблема. Я ранее создал тестовую учетную запись пользователя и вышел из магазина itunes, ожидая, что мне будет предложено войти в мою тестовую учетную запись, когда я совершу покупку в приложении. вместо этого я получил сообщение не могу подключиться к магазину itunes. когда я вошел в систему с моим настоящим именем пользователя и паролем itunes и попробовал свое тестовое приложение, оно работало отлично. Затем я снова вышел из магазина itunes, и мое приложение отлично работало, запрашивая у меня мой идентификатор / пароль
источник
У меня была такая же ошибка, но проблема была не совсем такой. Может быть полезно для кого-то:
Я вставил внешний файл в структуру своего приложения. Причина, по которой я сделал это, заключается в том, что в процессе производства я вставляю этот файл динамически с сервера, но в процессе разработки я думал, что быстрее использовать приложение под названием iExplorer для вставки этого файла. Я сделал это в прошлом, и у меня не было этой проблемы. Но в последние несколько дней, если я вставляю этот файл напрямую с помощью iExplorer, мое приложение возвращает ошибку: «Не удается подключиться к iTunes Store». (по-испански: «Никаких puede conectarse в iTunes Store»).
Думаю, это потому, что на этот раз я вставил файл в папку .app. Это заставляет меня думать, что если вы каким-либо образом измените свою папку .app, кодовая подпись прервется, и ссылка на iTunes Store перестанет работать напрямую.
источник
Для меня проблема была решена загрузкой двоичного файла. Поскольку этот ответ не был дан на этой странице, которая, кажется, входит в число самых популярных в Google, я подумал, что добавлю его.
источник
Я решил поделиться своим недавним опытом с той же проблемой:
Несколько дней назад я столкнулся с той же проблемой, когда она перестала работать день ото дня. Я получил следующую ошибку после аутентификации с моим тестовым пользователем (ами):
Error Domain=SKErrorDomain Code=0 UserInfo=0x165000 "Cannot connect to iTunes Store"
Я не вносил никаких изменений в код, и мы не могли думать о каких-либо других изменениях в нашей учетной записи iTunes или продуктах IAP, которые могли бы вызвать проблемы. Единственное, что могло быть связано, это добавление большего количества тестовых пользователей iTunes (хотя до этого я без проблем добавлял ~ 15 учетных записей). Тестировал на разных устройствах и симуляторе.
Я просмотрел все доступные контрольные списки и все возможные решения (в том числе все, что упоминалось выше) без особого успеха. В конце концов, я решил, что могу отдохнуть от этого на все выходные, так как рисовал бланки. И, как ни странно (и впервые), ничего не делать на самом деле сработало ! Я не менял код, и ничего не менялось в нашей учетной записи iTunes или в приложении.
Я могу думать только о следующих причинах:
источник
Убедитесь, что вы вошли в свою личную учетную запись itunes в магазине приложений. Если да, то вы получите это сообщение. Даже если вы вошли в свою учетную запись песочницы в приложении. Итак, чтобы решить эту проблему, выйдите из своей личной учетной записи в магазине приложений, а затем попробуйте приобрести элемент в приложении, а затем использовать свою учетную запись песочницы. Это решило мою проблему.
источник
Ну, как обычно, я «перепробовал все доступные решения, и это не помогло» :) Итак, вот мой вклад в эту неограниченную коллекцию камней преткновения:
Если приложение в данный момент отсутствует в продаже (по любой причине), возникает эта ошибка.
источник
Я получил ту же ошибку, когда я назвал
SKProductsRequest
«sstart
метода в моем тестовом окр, он побежал в- (void)request:(SKRequest *)request didFailWithError:(NSError *)error
Когда я вызвал свой производственный env, он был правильным и запустился
- (void)productsRequest:(SKProductsRequest *)request didReceiveResponse:(SKProductsResponse *)response
Закройте
charles
любую программу http-прокси как можно скорее! Закройтеcharles
любую программу http-прокси как можно скорее! Закройтеcharles
любую программу http-прокси как можно скорее!Вы это знаете ~
источник
У меня была такая же проблема, но я решил в следующем режиме:
- Я использовал эмулятор iPhone 5S с iOS 8.4 (это самое главное. Соединение Apple Store не работает на эмуляторе iOS 11)
- на эмуляторе я включил следующий параметр: Настройки / Разработчик / Разрешить службы HTTP (это для подключения к Интернету)
- я временно отключил Avast Antivirus Web Shield (это также для подключения к Интернету)
источник
In-App Purchase FAQ имеет эту информацию:
В моем случае ошибка возникла из-за того, что я использовал симулятор.
Даже в Руководстве по программированию покупок в приложении говорится, что для использования устройства iOS для разработки предлагается этап тестирования .
источник
Как документация Apple:
Не удается подключиться к iTunes Store Проблема «Не удается подключиться к iTunes Store» может быть вызвана одной или несколькими из следующих причин:
https://developer.apple.com/library/content/technotes/tn2413/_index.html
источник
Я сделал все, что мог, чтобы решить эту проблему.
Настоящее устройство, а не симулятор.
Новая зарегистрированная тестовая учетная запись Sandbox (не заполняйте дополнительную информацию, чтобы сделать ее формальным Apple ID)
Выйдите из всех связанных учетных записей (iCould, App Store, может быть, учетная запись для тестирования песочницы другого приложения).
Заполните все налоговые декларации и соглашения на сайте itunesconnect
Даже восстановить заводские настройки LOL ...
всегда возвращать SKErrorDomain Code = 0
«Не удается подключиться к iTunes Store»
...
Решение моего дела наконец пришло ко мне после трех дней борьбы:
И наконец я нахожу ключ. Попробуйте на другом устройстве протестировать iAP, если iOS вашего устройства iOS13.4.x!!! И я обновляю версию ОС этого «сломанного» устройства до iOS14.0.1, iAP работает как шарм.
источник