我有一个付费应用程序,我正在考虑免费购买应用程序。如果我进行切换,则需要检查用户是否已经为该应用程序付费,然后启用付费功能。
我认为以下代码可以满足我的需要,但我不确定如何对其进行测试。我构建了该应用程序,并使用我的设备上的开发配置文件运行了该应用程序,并且receitpData
为空。因此,我使用发行设置配置文件构建了该应用程序,并将其提交给应用程序商店,然后使用试飞下载了该应用程序,但是我仍然遇到相同的问题。
如何从现有应用中获取收据数据?
我是否需要为此应用启用应用内购买才能获取此数据?
NSURL *receiptUrl = [[NSBundle mainBundle] appStoreReceiptURL];
NSData *receiptData = [NSData dataWithContentsOfURL:receiptUrl];
最佳答案
我想到了:
#import <StoreKit/StoreKit.h>
不要忘记添加其代表
<SKPaymentTransactionObserver, SKProductsRequestDelegate>
这是代码:
SKReceiptRefreshRequest* request = [[SKReceiptRefreshRequest alloc] initWithReceiptProperties:nil];
request.delegate = self;
[request start];
然后:
-(void)requestDidFinish:(SKRequest*)request{
if([request isKindOfClass:[SKReceiptRefreshRequest class]]){
NSLog(@"YES, You purchased this app");
}
}
- (void)request:(SKRequest*)request didFailWithError:(NSError *)error{
NSLog(@"NO, you need to buy it");
}
关于ios - 如何使用现有的付费iOS应用读取收据数据?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32977864/