Я получаю ошибку при запросе продуктов из App Store для IAP
В IOS6 я успешно делал покупки в приложении в своем приложении.
Я загрузил IOS/и Xcode 5 Beta и попытался открыть тот же проект.
Мой код для получения продуктов из магазина приложений:
- (void)requestProductsWithIdentifiers:(NSSet*)identifiers
{
@synchronized(self)
{
DebugLog(@"requesting products with identifiers: %@", identifiers);
self.productsRequest = [[SKProductsRequest alloc] initWithProductIdentifiers:identifiers] ;
self.productsRequest.delegate = self;
[self.productsRequest start];
}
}
Но он возвращает ошибку:
[IAPHelper request:didFailWithError:](114): request did fail with error: <SKProductsRequest: 0xb846a10> / Error Domain=SSErrorDomain Code=2 "Cannot connect to iTunes Store" UserInfo=0xb846b10 {NSLocalizedDescription=Cannot connect to iTunes Store}
Где может быть проблема?
Ответы
Ответ 1
Apple заблокировала тестирование покупок в приложении...
Вот ссылка на заметки о выпуске
https://developer.apple.com/library/content/releasenotes/DeveloperTools/RN-Xcode/Chapters/Introduction.html#//apple_ref/doc/uid/TP40001051-CH1-SW578
См. раздел iOS Simulator
StoreKit (покупки в приложении) не будет работать в симуляторе. 13962338
Очень грустно...
Ответ 2
Я столкнулся с той же проблемой недавно после установки xcode 5 и симулятора iOS 7.
Ранее SKProductRequests работали в симуляторе, но теперь они терпят неудачу с кодом ошибки 2.
(Они все еще работают на устройствах).
Я не уверен, что вызывает это, но моим решением было загрузить имитатор iOS 6.1.
xcode Preferences- > Downloads- > Компоненты и выберите симулятор iOS 6.1.
После этого мне пришлось выбрать симулятор iOS 6.1 в качестве цели моего устройства, удалить приложение из симулятора, а затем скомпилировать его и запустить снова. Теперь SKProductRequests вернул информацию о продукте, как ожидалось.
Я попытался переключиться на симулятор iOS 7, но SKProductRequests снова начал сбой.
Ответ 3
Обновление. Тестирование покупок в приложении в симуляторе, похоже, работает в бета-версии Xcode 6
Ответ 4
-
Убедитесь, что вы вышли из iTunes и App Store (Настройки → iTunes и магазин приложений → нажмите значок Apple → Выйти)
-
Вернитесь к своему приложению, повторите покупку и войдите в тестовую учетную запись пользователя, так как разработчики создают доступ к хранилищу Sandbox, а не к хранилищу.
Ответ 5
С выпуском GM XCode 5, как сказал Аркадий, вы не можете тестировать покупки приложений в симуляторе. Тем не менее, я смог протестировать покупки в приложении на своем iPad 2 под управлением iOS 7.0.2, выйдя из iTunes и App Store (как упоминает Tafkadasoh), а затем запустил приложение на устройстве с XCode. Когда я пришел к покупке в приложении, мне было предложено ввести идентификатор Apple, и когда я ввел информацию об учетной записи тестового пользователя (которую я создал в itunes connect), мне удалось успешно запустить покупку в приложении режим песочницы.
Ответ 6
В примечаниях к выпуску не говорится, что они заблокировали покупку в приложении, текст гласит, что существует известная ошибка: "StoreKit (покупки In-App) не будет работать в Simulator. 13962338", если я правильно его читаю. Предположительно, 13962338 - номер ошибки. Имейте в виду, если бы это был политик, делающий выражение, я мог бы согласиться с вами: -)
PS Поскольку они удалили настройки iTunes, это делает немного сложнее делать покупки в приложении.
PPS Возможно, мы все должны начинать отчеты об ошибках файла.