Покупка из приложения "SKProductsRequest" не привела к успешному ответу
Мы пытались протестировать покупки в приложении в среде "песочницы", но не смогли получить никаких данных от SKProductsRequest
, Обратный звонок
- (void)productsRequest:(SKProductsRequest *)request didReceiveResponse:(SKProductsResponse *)response
вызывается, но ответ возвращает пустой массив. Я тестирую это только для ipad, но как 3.2, так и 4+, кажется, все не получают ответ, когда я пытаюсь выполнить этот запрос.
Я внимательно прочитал всю документацию по Intunes Connect, чтобы связать приложение в iTunes Connect с покупками в приложении, а также всю документацию Apple на SKProductsRequest
объект и руководство по программированию покупки в приложении для справки. Я попытался сбросить сертификаты и начать все с нуля и следовал за помощником "сборка для распространения" на портале обеспечения ios.
Я также встроил приложение во все версии отладки, выпуска и распространения на устройстве. Я наблюдал за сеансом WWDC2010 310 "Публикация приложений с помощью iTunes Connect" и следил за ним, но он устарел, поскольку кнопка проверки включения платежей через приложение больше не отображается при создании идентификаторов приложений на сайте портала обеспечения.
Я также позаботился о том, чтобы моя подпись кода была правильной и программа соответствовала правильному идентификатору приложения, с которым были запрошены запрошенные покупки inapp. (см. прикрепленный, пакет совпадает с идентификатором в Xcode.
Я убедился, что ipad отключился от любых учетных записей iTunes при запуске тестового приложения, и добавил тестовых пользователей на страницу iTunes Connect для тестирования. Наша банковская информация iTunes Connect полностью заполнена.
Я также проверил много форумов, и этот процесс кажется большой серой областью для многих, я исчерпал все мысли об этом, я просто не могу получить ответ на любой идентификатор продукта.
...Может кто-нибудь мне помочь?!! Спасибо людям!
2 ответа
Вы сделали очень распространенную ошибку, которую я сделал сам с покупками в приложении. Вы сделали правильный шаг, но пропустили один шаг. Вам необходимо отправить покупку в приложении. Это можно сделать, нажав на покупку в приложении в разделе iTunes Connect, который вы можете найти, зайдя в Управление приложениями -> ваше приложение -> управлять покупками приложений. В этом подробном представлении вы нажимаете кнопку "Отправить в приложении" в правом верхнем углу. Эта кнопка может быть недоступна. Если это так, вы должны загрузить бинарный файл для своего приложения. Вы можете отказаться прямо сейчас, если хотите. После этого вы можете вернуться к подробному виду и нажать кнопку "Отправить".
Я оказался в похожей ситуации. Проблема заключалась в том, что я использовал неправильную "идентификационную информацию разработчика" для подписи моего (разрабатываемого) двоичного файла. Поскольку я часто работаю в других компаниях, я всегда просто использовал свой "личный" сертификат разработчика для подписи отладочных сборок. Поскольку это тестовые сборки, меня не волнует, что такое appid и какая компания связана с ним. Однако я понял, что для Apple было бы небезопасно разрешать случайным разработчикам запрашивать информацию о покупках для appid, которые не связаны с ними.
Создайте специальное условие для проекта и убедитесь, что вы подписываете свои тестовые сборки с помощью сертификата develeper, связанного с этой компанией. Интерфейс песочницы в магазине приложений для iAP должен проверять это во время выполнения.