什么是appStoreReceiptURL?

时间:2013-11-10 01:17:15

标签: ios objective-c itunesconnect in-app-purchase

我刚刚在我的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);
    }

我不太明白该代码的含义是什么?当我用它中的代码运行我的游戏时,它就会立即退出,我做错了什么?

1 个答案:

答案 0 :(得分:2)

appStoreReceiptURL是一种用于提供执行收据验证所需收据的方法(Docs

您描述的用于显示exit(173)代码的方法特定于OSX,不应在iOS7上使用。使用此代码退出应用程序将使OSX尝试刷新收据,如果它无法在路径中加载。

对于iOS7(在iOS7之前不可用),您应该使用SKReceiptRefreshRequest类。这将强制刷新收据。