Покупки в додатку "Не вдається підключитися до iTunes Store"


98

У мене проблеми з тестуванням моїх покупок через додаток. Я повертаю дійсні ідентифікатори товару, але після покупки отримую страшне повідомлення "Не вдається підключитися до iTunes Store". Цікаво, що покупки з відновленням, здається, працюють - спливає вхід до iTunes.

У мене є: - Перевірено, чи мої покупки в додатку дозволено продавати - Перевірено, перевірено, що мій вихідний код синхронізований з документацією Apple - Додано відповідних тестових користувачів - Ідентифікатор програми не містить підстановочних знаків - Покупки в додатку пов’язані з додаток (сам додаток знаходиться у стані відхилення розробником, покупки готові до подання) - чекав - переінсталював додаток, очистив рішення, усі речі вуду


26
+1 за "всі вуду" - це не правда!
Крейг Воткінсон,

2
Apple, чому ти робиш це так складно !!!
Борж

Відповіді:


113

Переконайтеся, що ви вийшли з будь-яких виробничих облікових записів iTunes на пристрої.

Я отримував цю помилку на своєму тестовому телефоні, який увійшов у систему з моїм фактичним обліковим записом iTunes. Ви не можете тестувати програми за допомогою виробничого облікового запису iTunes, звідси і помилка. Я просто бажаю, щоб Apple надала кращу помилку, щоб уникнути цих здогадок ...


1
Моєю помилкою було просто не налаштування користувача Sandbox, я забув цей крок. І не входите в нього з розділу «Налаштування >> >> iTunes на пристрої, який розірве його. Зачекайте і зробіть це під час власне тестування.
Натан Пратер

Можливо, ця помилка також виникає при повторному використанні старого облікового запису пісочниці, який ви протестували в попередній програмі IAP в іншій програмі за допомогою (Мій сценарій). Apple дійсно потребує оновлення способу тестування IAP, мені не вистачає електронних листів: 0
David Baez

Я тестую це в тренажері, так що це не повинно бути проблемою тут?
Усама бін Аттик

1
вийшов з усіх облікових записів iTunes. вимагає запросити мене на вхід, і тоді переривання не вдасться. використовував багато облікових записів тестерів пісочниці, але не працюватиме.
bLacK hoLE

Для мене це теж не працює ... Спробував створити багато облікових записів, деякі з яких увійшли в користувач пісочниці iTunes, інші без авторизованого користувача, навіть без підтвердження електронної пошти, нічого не працює!
Борж

50

див. Поширені запитання щодо придбання через додаток: Не вдається підключитися до iTunes Store

Your app is running in the Simulator, which does not support In-App Purchase

Для тестування на покупки додатків завжди використовуйте реальні пристрої.


Ваш додаток не має пакетної версії (CFBundleVersion). <- Це мене врятувало. Дякуємо за посилання.
daltonclaybrook

25

Для новачків переконайтеся, що статус вашого продукту, що купується в додатку Ready to Submit, не має "відсутніх метаданих". У моєму випадку бракувало локалізації групи передплати.

введіть тут опис зображення


1
Дякую! У моєму випадку йому бракувало локалізації для відображуваного імені.
Джастін

У моєму IAP відображається "Чекаю завантаження". Я все ще отримую помилку
Вайбхав Джавері

Це те, що працювало і для мене. У мене ввійшов і свій активний обліковий запис itunes, тому активний рахунок для мене не мав значення
cherucole

10

У мене була ця проблема, і я переконаний, що це помилка. Я подав звіт про помилку з програмою Bug Id 10108270

Проблема, схоже, полягає в тому, що тестовий користувач стає `` заблокованим '' і, можливо, має щось спільне зі спробою придбати покупку в додатку у вже випущеному додатку з цим обліковим записом.

Моїм обхідним шляхом було створення нового тестового користувача, але поки Apple не зв’яжеться зі мною, я не можу запропонувати кращих рішень. Я оновлю цю відповідь, коли отримаю відповіді.


4
Я створив нового тестового користувача, але це не допомогло.
arkir

Мені шкода, що я не можу більше допомогти, це було моє обхідне рішення, шкода, що у вас це не працює. Я буду постійно оновлювати цю відповідь, коли отримаю більше інформації.
Джеймс Вебстер,

Я створив новий тестовий обліковий запис, і покупка в додатку знову почала працювати. Дякую!
Miha Hribar

Створення нового тестового користувача вирішило проблему для мене. (Кілька днів тому я отримав повідомлення, коли намагався використати свого старого тестового користувача, що його було вимкнено, тому мені довелося повторно ввімкнути його. Незабаром після цього я почав отримувати Cannot connect to iTunes storeпомилку. Але як тільки створив новий тест користувач, покупки знову працювали.)
Ендрю

новий користувач працював у мене. просто спробуйте, перш ніж робити щось інше.
Охан Окбай

6

Ця проблема залишається постійною у 2016 році. Неймовірно. Ось моє рішення:

Додайте номер збірки. Ціль> Загальне> Ідентичності> Збірка.


2
НЕВЕРОЯТНО. Це все ще проблема в 2018 році. Я не використовую номер збірки в режимі налагодження, оскільки збільшую його лише для виробничих версій. Дякуємо, що розмістили це.
Стівен Пітерсон,

3

Це стара тема, пов’язана з проблемою, з якою я стикався сьогодні.

У моєму випадку я міг тестувати покупки в додатку на своєму пристрої до вчора, але сьогодні він перестав працювати. З'ясувалося, що Apple запропонувала мені "Поправку до платних додатків", щоб я розглянув і погодився. Як тільки я погодився на поправку (звичайно, не прочитавши її), все знову почало працювати. Не довелося створювати нового тестового користувача чи будь-яке інше обхідне рішення.

Причин, через які покупки в додатку можуть не працювати, може бути багато, але переконайтеся, що ви правильно налаштовані, itunesconnectабо ви не зможете перевірити покупки в додатку.


2

Я торкаюсь того ж питання. Для мене це відбувається після такої безпеки:

  • Встановіть програму на пристрій, який зареєстровано в обліковому записі Великобританії на iTunes
  • Запустіть програму та скористайтеся тестовим набором користувачів у США
  • Повідомлення показано, що обліковий запис дійсний лише в США. Закриває програму та автоматично запускає iTunes
  • Відкрийте програму ще раз і повторіть спробу придбання. Отримуйте товари, але жодного іншого зворотного дзвінка чи помилки.

Я не знаю, чи це проблема на платформі IAP, але я хотів би отримати помилку / зворотний виклик, щоб якось обробляти це у своєму коді.

Щоб продовжити тестування своїх IAP, спробуйте будь-що з цього:

  1. Видаліть профіль надання в розділі Налаштування, видаліть додаток та вийдіть із магазину в налаштуваннях. Потім перейдіть до XCode і змініть ідентифікатори підпису на "Не підписувати", щоб потім повернути їх назад (я знаю, як це звучить :) але спробуйте) АБО
  2. Жорсткий скидання всіх Налаштувань на вашому пристрої (Налаштування -> Загальні ...). Очевидно, ви втратите будь-які налаштування на цьому пристрої ...
  3. Убийте програму iTunes на пристрої (багатозадачне меню) і вийдіть із магазину в налаштуваннях

Якщо нічого з вищезазначеного не працює, можливо, це проблема на платформі IAP, див. Мої коментарі нижче.


Дякую, але жоден метод 1 і 2 не працював для мене. Досі не вдається підключитися до iTunes. :(
arkir

Насправді я спробував себе, і я не можу! У мене таке відчуття, що це проблема СЬОГОДНІ / ПОСЛУГИ з платформою. Але я не можу знайти жодного посилання, щоб підтвердити його (статус). Ага !. Я залишаю це на кілька годин і перевіряю, чи це так, і це щось зовнішнє для розробників
Хуан Фран Хіменес

Спробували вбити програму iTunes на пристрої (багатозадачне меню) і вийти з магазину в налаштуваннях?
Хуан Фран Хіменес

Дозвольте мені додати, що Game Center (принаймні пісочниця) був нестабільним протягом останніх 5 днів або близько того. Тільки минулої ночі почало працювати краще. Я згадую про це, оскільки мій код IAP не змінився з моєї відповіді, і зараз він працює. Я схильний думати, що на платформі Apple IAP сталася помилка, і це якось теж було пов'язано з Game Center.
Хуан Фран Хіменес


1

Можливо, ця помилка також виникає при повторному використанні старого облікового запису пісочниці, який ви протестували в попередньому IAP в іншій програмі за допомогою (Мій сценарій). Apple дійсно потребує оновлення способу тестування IAP, у мене закінчуються електронні листи: 0


У мене також було це питання. Іноді допомагає створення нового користувача. Також не потрібно використовувати справжню електронну пошту. Я закінчую - ## в кінці мого і продовжую додавати нові.
Єремія

1

Я зміг придбати додаток на iPhone, але не на iPad (11.0.2). Я спробував із усіма згаданими рішеннями, але жодне не допомагає. Спробувавши всі інші можливості, нарешті я зміг змусити це працювати.

Створюючи тестовий обліковий запис у iTunes connect, не підтверджуйте ідентифікатор електронної пошти. Якщо це підтверджено, iap повертає помилку "Не вдається підключитися до iTunes". Це виглядає дивним, але це те, як це працювало для мене. В iPhone, незалежно від підтвердження електронної пошти, я можу купувати за допомогою тестового рахунку.


Я прочитав це, і спочатку це звучало божевільно, але насправді це спрацювало. Була така сама проблема з тестовим рахунком, який не міг здійснити покупку на iPad, але добре працював на iPhone. Дуже дивно!
axanpi

Так. Це дивно. Наше додаток було відхилено через цю проблему, і мені довелося пояснити команді перевірки яблук причину та отримати його схвалення.
Аніш

1

Ось вичерпний контрольний список, якщо ви отримали цю помилку "не вдається підключитися до iTunes Store":

  • Переконайтеся, що в App Store Connect створений користувач пісочниці

  • Симулятор НЕ підтримує покупку в додатку: тест на реальному пристрої

  • Пісочниця може бути недосяжною. Перевірте стан системи Apple
  • Переконайтеся, що ваш додаток має пакетну версію (CFBundleVersion)
  • Переконайтеся, що товар доступний для продажу. Ви створили його в App Store Connect?

  • Якщо попередній iOS 12, вийшов з будь-яких виробничих облікових записів iTunes на пристрої. В іншому випадку ви можете просто увійти в програму розробника за допомогою свого облікового запису пісочниці.


0

Ця помилка також сталася, коли SKProductsRequest передав неправильний NSSet:

Неправильно:

let products = NSSet(objects: ["id1", "id2"])

Правильно:

let products = NSSet(objects: "id1", "id2")

0

У моєму випадку, я просто забув обробити .failedв transactionState. Зокрема, SKPaymentQueueue.default().finishTransaction(transaction).


0

Те саме вийшло у мене, і я перевірив це питання, зокрема форму Apple , і не міг знайти рішення.

Сьогодні під час перевірки пристрою я виявив, що наступне

У Налаштуваннях пристрою -> iTunes & App Store знайшли ще один ідентифікатор Apple вхід . Тож я спробував signOut це і ще раз перевірив покупку InApp, вона спрацювала чудово. Тож переконайтесь, що проблема пов’язана з цим чи ні.

Подяки та поваги, Unnikrishnan.P


0

Мені довелося зайти в Налаштування> iTunes & App Store, потім прокрутити донизу поле "Обліковий запис пісочниці" та вийти звідти. Зараз це працює !!!

введіть тут опис зображення


0

На додаток до всіх інших методів, описаних тут, якщо ви працюєте з підписками, здається, вам потрібно переконатися, що ви створили спільний секрет:

"Щоб протестувати або запропонувати автоматично поновлювані підписки, ви повинні мати головний загальний секрет або використовувати спільний секрет для кожного додатка."

Головний загальний секрет створюється на вкладці "Спільний секрет" в розділі "Користувачі та доступ" в App Store Connect.

Загальний секрет для додатка створюється, коли ви керуєте покупками через додаток.


0

Я свій виправив! Якщо ви отримуєте Error Domain=SKErrorDomain Code=2 "Cannot connect to iTunes Store"помилку, обов’язково вставляйте SKPaymentQueue.default().finishTransaction(transaction). Це працювало для мене після того, як я додав SKPaymentQueue.default().finishTransaction(trans)у наступному:

func paymentQueue(_ queue: SKPaymentQueue, updatedTransactions transactions: [SKPaymentTransaction]) {
    for trans in transactions{
        if trans.transactionState == .purchased {
            print("Successful.")
            SKPaymentQueue.default().finishTransaction(trans)
        } else if trans.transactionState == .failed {
            print("failed!")
            print(trans.error)
            SKPaymentQueue.default().finishTransaction(trans)
        }
    }

Знайдено на веб-сайті розробника Apple тут

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.