如何使用现有付费 iOS 应用读取收据数据?
How do I read receipt data with existing paid iOS app?
我有一个付费应用,我正在考虑通过应用内购买免费使用它。如果我进行切换,我将需要检查用户是否已经为该应用付费,然后启用付费功能。
我认为下面的代码应该可以满足我的需要,但我不确定如何测试它。我在我的设备上使用我的开发配置文件构建了应用程序并 运行 它 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");
}
我有一个付费应用,我正在考虑通过应用内购买免费使用它。如果我进行切换,我将需要检查用户是否已经为该应用付费,然后启用付费功能。
我认为下面的代码应该可以满足我的需要,但我不确定如何测试它。我在我的设备上使用我的开发配置文件构建了应用程序并 运行 它 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");
}