iPhone StoreKit - недействительные идентификаторы товаров - PullRequest
33 голосов
/ 25 июня 2009

Я пытаюсь проверить In App Purchase в среде песочницы.

Для проверки кода я сделал следующее:

  1. Создание учетной записи тестового пользователя в приложении «Управление пользователями» в iTunes Connect

  2. Создано несколько продуктов для покупок в приложении в разделе «Управление покупками в приложении». Я использовал числовые значения и буквенно-цифровые значения для идентификаторов продукта.

  3. Загрузил приложение на iPhone, зашел в Настройки-> Магазин и вышел из обычного магазина и в тестовую учетную запись, созданную на шаге 1

  4. Установить точку останова в (1019 * * Обратный вызов

Все представленные идентификаторы продуктов находятся в собственности response.invalidProductIdentifiers. При отправке запроса я сначала попробовал точные идентификаторы продуктов, созданные на шаге 2. Я также попытался поставить перед ними префикс Bundle ID:

NSString *id2 = @"com.super.duper.8";
NSSet *productList = [NSSet setWithObjects:id2, @"8", nil];

SKProductsRequest *request= [[SKProductsRequest alloc] initWithProductIdentifiers:productList];

Я что-то упускаю из виду? Любая помощь приветствуется.

Ахим

Ответы [ 22 ]

53 голосов
/ 08 февраля 2010

Если вы по-прежнему получаете недопустимые идентификаторы продуктов, я накапливаю контрольный список всех причин:

http://troybrant.net/blog/2010/01/invalid-product-ids/

15 голосов
/ 23 января 2010

Я потратил два дня на борьбу со всеми моими productsRequest (для AppID), которые оказались в списке response.invalidProductIdentifiers, а не в response.products. Apple определенно проделала отличную работу по работе со своим магазином. Это запутано, переплетено и сложно.

Я наконец решил это. Один очень важный урок, который я усвоил, на что указали немногие на форумах: для вступления в силу того, что вы ввели на itunesconnect.apple.com, может потребоваться много часов.

Есть две части: имя приложения и AppID в вашем xcode и то, что вы ввели в itunesconnection, они должны точно совпадать (с учетом регистра). Если вы зарегистрировали или изменили свой AppleID в приложении (я также выполнил все свои контракты и банковскую информацию, как некоторые считают, что действия по покупке не будут работать без выполнения этой части), вы можете также лечь спать, прежде чем снова протестировать его. потому что в моем случае действительно требуется несколько часов, чтобы повлиять. Я был так расстроен, борясь с этой проблемой, прежде чем мой 9-летний потащил меня к сказке на ночь, а затем удивился, обнаружив, что проблема исчезла, когда я проснулся.

Я нашел предложения Eddy71 в http://www.iphonedevsdk.com/forum/iphone-sdk-development/21035-problems-creating-test-user-app-purchase.html действительно полезными. Прежде чем разрешить его, я сделал все, что мог, в контрольном списке Эдди, и все еще получил ноль продуктов, и я боялся, что без загрузки двоичного кода для завершения регистрации приложения в itunesconnect все будет в порядке (не нужно запускать программу, как описано в http://blog.mugunthkumar.com/coding/iphone-tutorial-%E2%80%93-in-app-purchases/). Это действительно нормально. Убедитесь, что флажок «разрешено к продаже» отмечен галочкой, а зеленый значок (требуется дополнительный шаг, чтобы подтвердить его после заполнения формы). Можно использовать временный разработчик (не предварительный дистрибутив) в режиме отладки, это также действительно нормально. Надеюсь, это может помочь некоторым из вас. Удачи и веры. В конечном итоге это сработает.

7 голосов
/ 08 декабря 2011

Нашей проблемой был последний пункт из часто задаваемых вопросов Apple: « Почему идентификаторы моего продукта возвращаются в массиве invalidProductIdentifiers? »:

  • Вы не выполнили все финансовые требования (см. Раздел «Контракты, налоговая и банковская информация» данного документа).
  • Вы не использовали явный идентификатор приложения.
  • Вы не использовали профиль обеспечения, связанный с явным идентификатором приложения.
  • Вы не использовали правильный идентификатор продукта в своем коде. Дополнительные сведения об идентификаторах продукта см. В разделе «Технические вопросы и ответы», QA1329, «Идентификаторы продуктов в приложении».
  • Вы не очистили свои продукты In App Buy для продажи в iTunes Connect.
  • Возможно, вы изменили свои продукты, но эти изменения еще не доступны для всех серверов App Store.
  • Если вы или App Review отклонили ваш последний двоичный файл в iTunes Connect.

Я изменил самую последнюю версию (которая была отклонена) на «Ожидание загрузки», нажав «Готово к загрузке двоичного файла» в iTunes Connect, и проблема была решена примерно через 10 минут.

5 голосов
/ 09 апреля 2012

все в порядке, что телефон взломан, вам просто нужно удалить appSync в Cydia, тогда он работает

4 голосов
/ 17 мая 2012

У Apple есть фантастический документ, который малоизвестен, и который в конце описывает это. Он также рассеивает некоторые мифы о вещах, которые не помогают (например, отправка двоичного файла).

Технический комментарий 2259 «Добавление покупок в приложениях к приложениям для iOS и Mac»

3 голосов
/ 09 октября 2009

Мы закончили тем, что создали новый профиль обеспечения, где-то была строка (не могу вспомнить, где, не в документах для покупки приложения), в которой говорилось, что вы должны включить покупку приложения в профиле обеспечения. Мы не могли сделать это с нашим существующим профилем, поэтому мы создали новый, а затем мы могли бы включить его.

3 голосов
/ 18 апреля 2011

Попробуйте сбросить настройки iphone и удалить приложение с iphone и напрямую использовать идентификатор продукта запроса без идентификатора пакета

2 голосов
/ 30 апреля 2010

Я попробовал все, что предлагалось на форумах Apple и здесь, и все еще не мог заставить его работать. Нашел решение - ваше приложение должно быть передано Xcode для включения песочницы.

Очевидно, верно? Что ж, если вы работаете с обновлением существующего приложения, устройство все равно будет рассматривать его как приложение, установленное в App Store.

Так что удалите приложение с вашего устройства. Затем установите приложение обратно на устройство, используя Build & Run, когда ваше устройство привязано к вашему Mac. Теперь должно работать:)

2 голосов
/ 30 октября 2009

Для всех, у кого есть эти проблемы, я настоятельно рекомендую прочитать эту ветку на Apple Forum.

2 голосов
/ 15 июня 2017

В моем случае я не заполнил банковскую информацию, налоговую информацию и контактную информацию. Как только я закончу это, я смогу получить свой productID, надеюсь, это кому-нибудь поможет.

...