РЕДАКТИРОВАТЬ3: решено
inAppPurchase не работает на устройствах с джейлбрейком!(по крайней мере, тестирование в песочнице)
EDIT2: Теперь я знаю, почему ответ не был получен: это была неисправность сети на iPhone. Когда сетевое соединение установлено, но не получает никаких данных, productRequest никогда не получает ответ.
В то же время я все еще получаю неверный идентификатор продукта.Любая помощь?
РЕДАКТИРОВАТЬ: Обновление: После попытки добавления новых учетных записей тестовых пользователей и их использования (и многократного удаления / переустановки приложения, я теперь получаю Неверный продукт ...) В чем дело?Чего не хватает?
Я пытаюсь внедрить систему inAppPurchase, и это было неприятно!
После получения неправильных идентификаторов продуктов я прошел по следующему списку :
[ПРОВЕРЕНО] Включили ли вы внутриигровые покупки для своего идентификатора приложения?
[ПРОВЕРЕНО] Вы проверили разрешение на продажу для своего продукта?
[ПРОВЕРЕНО]Вы отправили (и при желании отклонили) бинарный файл своего приложения?
[ПРОВЕРЕНО] Идентификатор пакета .plist вашего проекта соответствует вашему идентификатору приложения?
[ПРОВЕРЕНО] Созданы и установлены новые условия предоставления.профиль для нового идентификатора приложения?
[ПРОВЕРЕНО] Вы настроили свой проект для подписи кода с помощью этого нового профиля обеспечения?
[ПРОВЕРЕНО] Вы создаете для iPhone OS 3.0 или выше?
[ПРОВЕРЕНО] Используете ли вы полный идентификатор продукта, когда делаете SKProductRequest?
[ПРОВЕРЕНО - уже неделю] Вы ждали несколько часов с момента добавления вашего продукта в iTunes Connect?
[ПРОВЕРЕНО - полученные платежи] Активны ли ваши банковские реквизиты в iTunes Connect?(через Марка)
[Вот где возникла проблема] Вы пытались удалить приложение с вашего устройства и переустановить? (через Hector, S3B, Alex O, Joe и Alberto)
----> А теперь, похоже, делегат не работает .... ??Я не получаю @ "didReceiveResponse" на консоли, но я получаю @ "нажал и обрабатывал" (код ниже)
@implementation InAppHandler
- (void)requestProUpgradeProductData
{
NSLog(@"clicked and handling");
NSSet *productIdentifiers = [NSSet setWithObject:@"pastedFromiTunesConnect"];
productsRequest = [[SKProductsRequest alloc] initWithProductIdentifiers:productIdentifiers];
productsRequest.delegate = self;
[productsRequest start];
// we will release the request object in the delegate callback
}
#pragma mark -
#pragma mark SKProductsRequestDelegate methods
- (void)productsRequest:(SKProductsRequest *)request didReceiveResponse:(SKProductsResponse *)response
{
NSLog(@"didReceiveResponse");
NSArray *products = response.products;
proUpgradeProduct = [products count] == 1 ? [[products objectAtIndex:0] retain] : nil;
if (proUpgradeProduct)
{
NSLog(@"Product title: %@" , proUpgradeProduct.localizedTitle);
NSLog(@"Product description: %@" , proUpgradeProduct.localizedDescription);
NSLog(@"Product price: %@" , proUpgradeProduct.price);
NSLog(@"Product id: %@" , proUpgradeProduct.productIdentifier);
}
for (NSString *invalidProductId in response.invalidProductIdentifiers)
{
NSLog(@"Invalid product id: %@" , invalidProductId);
}
// finally release the reqest we alloc/init’ed in requestProUpgradeProductData
[productsRequest release];
[[NSNotificationCenter defaultCenter] postNotificationName:kInAppPurchaseManagerProductsFetchedNotification object:self userInfo:nil];
}
@end
Как кто-нибудь получал это раньше?Спасибо!