如何使用appStoreReceiptURL

19 objective-c in-app-purchase ios skpaymenttransaction

transactionReceipt已弃用.但我无法使用,

[[NSBundle mainBundle] appStoreReceiptURL].
Run Code Online (Sandbox Code Playgroud)

如果有收据,这应该返回收据的URL.但对我来说没有一个,因为这个值是零,而且据我所知,它不应该是.我在iOS 7上运行并且已经完成了一些应用内购买(设备上的沙箱).

谁能帮忙.

Shi*_*aay 15

这将为您提供收据作为mainBundle的appStoreReceiptURL的内容: -

[NSData dataWithContentsOfURL:[[NSBundle mainBundle] appStoreReceiptURL]];
Run Code Online (Sandbox Code Playgroud)

一旦你得到NSData转换为NSString.

有关详细信息,请参阅: -

https://developer.apple.com/library/ios/releasenotes/General/ValidateAppStoreReceipt/Chapters/ValidateRemotely.html#//apple_ref/doc/uid/TP40010573-CH104-SW1


小智 8

尝试以下:

NSData *dataReceipt = [NSData dataWithContentsOfURL:[[NSBundle mainBundle] appStoreReceiptURL]];
NSString *receipt = [dataReceipt base64EncodedStringWithOptions:0];
Run Code Online (Sandbox Code Playgroud)

  • 使用选项很重要:0以避免\ r和\n字符. (3认同)