iOS / iPhone: «песочница» покупки в приложении сломана, а приложение в «отклоненном» состоянии? - PullRequest
8 голосов
/ 06 августа 2011

(см. MAIN THRUST ниже, чтобы пропустить основную суть моего вопроса.)

Мое приложение iOS было отклонено в процессе проверки Apple по незначительной причине, которую было легко исправить.

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

А теперьприложение вылетает при первоначальном поиске информации о продукте.Он никогда не падал таким образом, и код не изменился, так как мы неоднократно успешно тестировали покупку в приложении в режиме песочницы.(На самом деле, код между первоначально представленной версией и этой версией с незначительным исправлением вообще не изменился; исправление было просто изменением настроек info.plist.)

Чтобы усложнить ситуацию, я использую Airplay/ Marmalade SDK для создания приложения, и они заключают в себе механизм вызовов и обратного вызова Objective C со своим собственным API и механизмом обратного вызова.Однако эта оболочка очень тонкая, поэтому я надеюсь / верю, что это действительно общий вопрос покупки iOS / внутри приложения, а не что-то специфическое для Marmalade.

Так что, как я уже сказал, он падает где-то междувремя, когда я делаю вызов Marmalade для получения информации о продукте, и время, когда должен быть вызван мой (C ++) обратный вызов.(То есть где-то между временем, когда Marmalade вызывает [productsRequest start] для объекта SKProductsRequest, и временем, когда вызывается productsRequest: didReceiveResponse (), и Marmalade перезванивает мне по очереди.)

MAIN THRUST моего вопроса:

Мое приложение в iTunesConnect находится в состоянии «отклонено».Кроме того, когда я смотрю на сам элемент покупки в приложении в iTunesConnect, он также помечается как «Отклонено».Тем не менее, я уже обсуждал свою покупку в приложении с Apple в процессе обзора, и я уверен, что сама покупка в приложении работает для них нормально, и единственной оставшейся проблемой была небольшая проблема, которую я ужеисправлено (это то, что сказано в их деталях отклонения: только этот один элемент).

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

Или есть что-то другое, я долженделать в этот момент, что позволит мне повторно протестировать покупку в приложении?

Я думал спросить Appleв переписке iTunesConnect, но я не хотел рассказывать о каких-либо сложностях с ними, поскольку процесс рецензирования до сих пор был удивительно быстрым и эффективным.

1 Ответ

13 голосов
/ 09 августа 2011

Я получил ответ от службы технической поддержки Apple по этому поводу:

Я отвечаю на ваш вопрос ниже, касающийся покупки приложения и проблемы, в которой процесс предварительной проверки продукта теперь не выполняется.Ответ на этот вопрос задокументирован в Технической ноте 2259 - «Добавление покупки приложения в ваше приложение iOS».http://developer.apple.com/library/ios/#technotes/tn2259/_index.html

В разделе часто задаваемых вопросов есть следующий список причин этой проблемы

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

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

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

Этот ответ был не совсем верным в моем случае.Я получил отдельный ответ от команды обзора приложений.Простая загрузка нового двоичного файла, по-видимому, не сбрасывает «отклоненное» состояние покупки в приложении.Очевидно, они должны вручную сбросить это (в это время я полагаю, что и они, и я можем проверить это).Так что в настоящее время у меня загружен мой новый двоичный файл, но они еще не сбросили предмет покупки в приложении.

Я добавлю больше к этому сообщению, когда процесс будет завершен ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...