我使用本教程http://www.raywenderlich.com/2797/introduction-to-in-app-purchases在我的应用中创建购物。
此代码有时正常工作或无法正常工作。我知道这听起来很有趣,但这是我的问题。
例如:首先启动应用程序(所有项目下载并显示在表格中,我可以购买任何此项),但在下次(例如第二次启动)时,我在此行收到错误:
SKProduct *product = [[InAppRageIAPHelper sharedHelper].products objectAtIndex:0];
错误是
由于未捕获的异常'NSRangeException'索引0超出空数组的边界而终止应用程序
答案 0 :(得分:2)
如果你想避免这种崩溃,只需在处理产品之前加上条件:
if ([[InAppRageIAPHelper sharedHelper].products count] >0)
{
SKProduct *product = [[InAppRageIAPHelper sharedHelper].products objectAtIndex:0];
//product processing goes here
}
else
{
NSLog (@"Warning: no products returned");
}
答案 1 :(得分:1)
使用付款方式时使用此代码.....按下付款按钮
NSLog(@"Products - %@",[IAPClockDietHelper sharedHelper].products);
你发现,当你第一次启动应用程序时,你有产品阀门...当你第二次使用应用程序时,产品有NULL值....所以你的应用程序崩溃...检查..
答案 2 :(得分:0)
我的设备进行硬重置后,我解决了这个问题。