在标题中我没有收到SKProductsResponse的任何回复。
我是怎么做的:
-(void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
//self.tableView.hidden = TRUE;
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(productsLoaded:) name:kProductsLoadedNotification object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(productPurchased:) name:kProductPurchasedNotification object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(productPurchaseFailed:) name:kProductPurchaseFailedNotification object: nil];
Reachability *reach = [Reachability reachabilityForInternetConnection];
NetworkStatus netStatus = [reach currentReachabilityStatus];
if (netStatus == NotReachable)
{
progressHud = [InAppProgressHud showHUDAddedTo:self.navigationController.view animated:YES];
progressHud.labelText = @"Pas de connection internet";
progressHud.detailsLabelText = @"Activez votre 3G ou le WIFI et rééssayez";
//[self performSelector:@selector(dismissHUD:) withObject:nil afterDelay:3.0];
}
else
{
if ([InAppPurchaseSingleton sharedHelper].Products == nil)
{
[[InAppPurchaseSingleton sharedHelper] requestProducts];
progressHud = [InAppProgressHud showHUDAddedTo:self.navigationController.view animated:YES];
progressHud.labelText = @"Chargement...";
[self performSelector:@selector(timeout:) withObject:nil afterDelay:30.0];
}
}
}
我的要求:
-(void)requestProducts
{
self.request = [[[SKProductsRequest alloc]initWithProductIdentifiers:productIdentifiers] autorelease];
request.delegate = self;
[request start];
}
响应回调:
-(void)productsRequest:(SKProductsRequest *)requestLocal didReceiveResponse:(SKProductsResponse *)response
{
self.products = response.products;
for (SKProduct *prod in self.Products)
{
NSLog(@"Product title: %@" , prod.localizedTitle);
NSLog(@"Product description: %@" , prod.localizedDescription);
NSLog(@"Product price: %@" , prod.price);
NSLog(@"Product id: %@" , prod.productIdentifier);
}
self.request = nil;
[[NSNotificationCenter defaultCenter] postNotificationName:kProductsLoadedNotification object:products];
}
问题是回调永远不会被调用,我没有回复,没有任何反应。我甚至没有得到错误日志,没有什么=(
- >我知道互联网连接正常
- >我尝试使用ios 5.1模拟器,在设备上使用,并且我在两者中都有相同的结果
- >我已从Itunes connect
注销- >我的应用程序BundleId:fr.eamdev.testapp
- >版本:准备上传中的0.2
- >我有3个IAP:fr.eamdev.testapp.package_1,fr.eamdev.testapp.package_2,fr.eamdev.testapp.package_3 //非消费//清除待售:是//准备提交
有没有人有想法,我在这里安静地贬低TT.TT 所以你知道我已经通过特洛伊布兰特的应用内购买:一个完整的演练和雷文德利奇的tuto
答案 0 :(得分:1)
以下是一些要检查的事项。
试试4.3 sim。 当我在4.3 sim上调用它时,我在日志中收到一条错误消息: 2012-07-18 18:45:03.501 shadowslide [10598:13703]:在模拟器中立即失败
它在5.1 sim中正常工作。这将告诉您是否正在接听电话。
你发布的所有代码对我来说都很好(自动释放?不使用ARC?),所以我想知道你是否有单身人士的问题(希望你不要感到侮辱:))。如果单例创建失败,则其他调用将以静默方式失败。由于您没有存储单件共享助手的返回,因此您无法在调试器中检查它。
希望这有帮助