在应用程序购买不工作

我使用本教程http://www.raywenderlich.com/2797/introduction-to-in-app-purchases在我的应用程序中创建购买。

这段代码有时会起作用或不起作用。 我知道这听起来很有趣,但这是我的问题。

例如:首先启动应用程序(所有项目下载并在表格中显示,我可以购买任何此项),但在下一次(例如第二次启动)时,我在此行上收到错误:

SKProduct *product = [[InAppRageIAPHelper sharedHelper].products objectAtIndex:0]; 

错误是

由于未捕获的exception’NSRangeException’索引0超出空数组的边界而终止应用程序

如果你想避免这种崩溃,只需在处理产品之前设置一个条件,如下所示:

 if ([[InAppRageIAPHelper sharedHelper].products count] >0) { SKProduct *product = [[InAppRageIAPHelper sharedHelper].products objectAtIndex:0]; //product processing goes here } else { NSLog (@"Warning: no products returned"); } 

使用付款方式时使用此代码…..按下付款按钮

 NSLog(@"Products - %@",[IAPClockDietHelper sharedHelper].products); 

你发现,当你第一次启动应用程序然后你有产品阀门…当你第二次使用应用程序时,产品有NULL值….所以你的应用程序崩溃…检查..

这个问题我在为我的设备进行硬重置后解决了。