Я внедрил простой механизм для покупки в приложении, следуя учебной книге Ray Wenderlich.
Когда начнется мое приложение, я инициирую запрос информации о продукте:
self.productsRequest = [[SKProductsRequest alloc] initWithProductIdentifiers:productIdentifiers];
_productsRequest.delegate = self;
[_productsRequest start];
Создается SKProductRequest. У него есть адрес памяти, но больше ничего не происходит. Ни один из методов делегата не вызван:
- (void)productsRequest:(SKProductsRequest *)request didReceiveResponse:(SKProductsResponse *)response {
NSLog(@"Product info received...");
NSArray *products = response.products;
for (SKProduct *product in products) {
NSLog(@"ID: %@, title:%@, (%f)", product.productIdentifier, product.localizedTitle, product.price.floatValue);
}
self.productsRequest = nil;
}
- (void)request:(SKRequest *)request didFailWithError:(NSError *)error {
NSLog(@"Failed to load list of products");
self.productsRequest = nil;
}
Я дважды проверил:
- Приложение полностью настроено в iTunes Connect.
- Статус приложения в ИТЦ - "Подготовка к загрузке"
- Добавлен один неиспользуемый IAP.
- Статус продукта IAP в ИТЦ "готов к отправке"
- Идентификатор приложения - com.mycompany.myapp как для приложения, так и в plist. Проверено дважды.
- IAP использует com.mycompany.myapp.productname(используя тот же идентификатор для запроса).
- Создал тестовую учетную запись пользователя в ИТЦ.
- Пока ничего не отправлено в Apple.
- У моего Mac есть доступ в Интернет.
- Других сообщений в консоли или на экране нет.
В книге Рея Вендерли не упоминается, что я должен сделать что-нибудь еще помимо этого.
Только один раз я увидел -didFailWithError: вызов моему делегату на устройстве, но он больше не появлялся. Мой делегат не вызывается как на устройстве, так и на симуляторе. Я позволяю ему работать в течение нескольких минут без какого-либо ответа.
iTunes Connect дает это запутанное предупреждение:
Ваши первые покупки (-ы) в приложении должны быть отправлены с новым приложением версия. Выберите их из раздела "Покупки в приложении" в версии Страница сведений, а затем нажмите "Готово для загрузки двоичных файлов".
Требуется ли это, прежде чем тестировать покупки в приложении?