我刚刚在我的iTunes中添加了一个IAP,并添加了一个测试用户,所有看起来都很好,而且IAP对我的游戏很有吸引力。在Apple Docs中,它说将此代码放在AppDelegate
中 // Locate the receipt
NSString *receiptPath = [[[NSBundle mainBundle] appStoreReceiptURL] path];
// Test whether the receipt is present at the above path
if (![[NSFileManager defaultManager] fileExistsAtPath:receiptPath]) {
NSLog(@"Exit");
// Validation fails
exit(173);
}
我不太明白该代码的含义是什么?当我用它中的代码运行我的游戏时,它就会立即退出,我做错了什么?
答案 0 :(得分:2)
appStoreReceiptURL
是一种用于提供执行收据验证所需收据的方法(Docs)
您描述的用于显示exit(173)
代码的方法特定于OSX,不应在iOS7上使用。使用此代码退出应用程序将使OSX尝试刷新收据,如果它无法在路径中加载。
对于iOS7(在iOS7之前不可用),您应该使用SKReceiptRefreshRequest
类。这将强制刷新收据。