StoreKit В приложении Недействительные идентификаторы продукта

Возможный дубликат:
iPhone StoreKit – недопустимый идентификатор продукта

Я получаю пустой массив идентификаторов продуктов из SKProductsRequest .

Я сделал следующие шаги:

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

  2. Создал некоторые из продуктов для покупки приложений в разделе «Управление покупками в приложениях».

  3. Загрузив приложение на iPhone, перейдите в Настройки → Сохранить и вышли из обычного хранилища

  4. Установите контрольную (void)productsRequest:(SKProductsRequest *)request didReceiveResponse:(SKProductsResponse *)response

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

Заранее спасибо,

Рагу

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

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

    Поэтому удалите приложение с вашего устройства. Затем установите приложение обратно на устройство, используя Build & Run, с вашим устройством, привязанным к вашему Mac. Он должен работать сейчас 🙂

    Я составляю список причин, по которым идентификаторы продуктов возвращаются недействительными. Вот список возможных причин:

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

    Контракт для платных приложений должен действовать для получения данных о настройке покупок в приложении.

    Это сработало для меня. У меня была точно такая же проблема.

    Я один из жертв здесь. Ну, я был. Вчера я столкнулся с проблемой и много раз пересматривал все этапы. Сегодня я просмотрел весь список из troybrant.

    1) ОК, моя ошибка, я забыл создать правильный профиль распространения: исправлено

    2) загрузил двоичный файл и сразу же отклонил: они говорят, что он работает лучше, чем без загрузки

    3) ok, другое исправление: удалил 10 цифр перед моим доменным именем извне в xcode (XXXXXXXXXX.com.company.app в com.company.app)

    Все еще не работает.

    4) Убедитесь, что мое устройство не подключено к учетной записи itunes.

    5) Чистая assembly каждый раз и удаление приложения с устройства иногда

    Все еще не работает.

    6) Наконец, при запросе продуктов я использовал только productID, а не весь com.company.app.productID.

    И это сработало.

    Я думаю, что иногда у нас более 1 ошибки, и когда вы исправляете их всех, трудно понять, в чем именно причина проблемы.

    Теперь я счастлив

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

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

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

    Кажется, люди путаются с идентификаторами продуктов.

    Вам не нужно добавлять весь домен (например, com.company.product.inappname) для работы InApp.

    Вы ДОЛЖНЫ использовать ТОЧНЫЙ идентификатор продукта, который вы создаете в iTunes Connect. В моем случае я только что создал «Product1», использовал это при вызове SKProductsRequest и все.

    Нет больше боли.

    Эта ссылка содержит много полезной информации, хотя отсутствует эта небольшая деталь: http://troybrant.net/blog/2010/01/in-app-purchases-a-full-walkthrough/

    Вышел ли из AppStore из Settings.app? Только когда вы выйдете из системы, вам снова будет предложено войти в систему.

    Включены ли покупки в приложении для вашего идентификатора приложения? Идентификатор приложения с wild card (*) не может быть включен для покупок в приложении. Для вашего приложения вам необходимо создать новый идентификатор приложения.

    Мои два цента здесь … http://blog.mugunthkumar.com/coding/iphone-tutorial-%e2%80%93-in-app-purchases/

    Моя проблема была первой проблемой, описанной здесь:

    https://devforums.apple.com/thread/23344?start=0&tstart=0

    «Во-первых, вам нужно убедиться, что ваш идентификатор приложения на Портале верен».

    Является ли ваша покупка в приложении «Расчищена для продажи»? Это настройка, которую я не проверял в первый раз.

    Установка имени продукта с тем же именем, которое было передано iTunes Connect, решило его для меня.

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

    Я обнаружил, что если ваше приложение имеет другой заголовок на другом языке, тогда у вас будет такая проблема, если вы не установите язык iPhone на английский. Это происходит только в процессе развития; для производства, похоже, не проблема.

    У меня есть 15 непродуманных продуктов.

    Внезапно все 15 из них стали казаться «недействительными» на одном из моих устройств (iPod Touch 4G), но действительны в другом (iPhone 4S); очень странно.

    Я удалил / переустановил, и теперь он работает нормально.

    Кто-то сказал, что вы должны запустить Xcode, но это не обязательно так . У меня много бета-тестеров с assemblyми AdHoc и Test User, и большую часть времени они, похоже, могут приобрести OK.

    Тем не менее, вся Sandbox Environment всегда шаткая и имеет много «времени простоя». Иногда ожидание – это ответ.

    На всякий случай у кого-то все еще возникают проблемы с получением «недопустимого идентификатора продукта» … Помимо всего, что было опубликовано в этом разделе, я просто установил правильный профиль предоставления отладки, удалил приложение с моего iPhone, перезапустил свое устройство и ударил, получил информацию о продукте , Я попробовал это после получения информации о продукте через симулятор (с последним XCode теперь это возможно). Я собирался загрузить двоичный файл и затем отклонить его, но потом я попробовал выше и получил его. Надеюсь, поможет!

    Убедитесь, что ваше «Имя продукта» в xcode совпадает с приложением, представленным в iTunes Connect.

    После того, как вы пробовали день или около того с возвратом недействительных продуктов, мое решение сводилось к тому, что элемент покупки был «Разработан для продажи». Несмотря на то, что рядом с предметом была зеленая метка, которая «очищена для продажи», мне все равно нужно загрузить скриншот и выбрать одобрение.

    Это похоже на обратный и нелогичный способ делать вещи, учитывая, что я все еще тестирую свое приложение и еще не готов продать его.

    Interesting Posts

    Невозможно выполнить цикл с пакетом листов R для создания нескольких карт

    Групповая агрегация Mongodb $ group, ограничить длину массива

    Как рекурсивно найти последний измененный файл в каталоге?

    IntelliJ и Tomcat … измененные файлы не распознаются автоматически Tomcat

    Как «сгладить» или «свернуть» таблицу 2D Excel в 1D?

    Как полностью отключить Windows-защитник в Windows 10?

    Любой способ заставить строгий режим в узле?

    Отсутствующие глифы шрифта Terminus, как настроить резервный шрифт?

    Активность по умолчанию не найдена в Android Studio

    Различия между деревьями B и деревьями B +

    Зачем мне нужно настроить диалект SQL источника данных?

    Домен верхнего уровня из URL-адреса в C #

    Какие внутренние команды cmd.exe очищают ERRORLEVEL до 0 при успешном завершении?

    Необходимый драйвер устройства CD / DVD отсутствует при установке WIndows 7

    Самостоятельное размещение ошибок плагина JQuery Validation

    Давайте будем гением компьютера.