请问一下IOS内购买二次验证的代码加在哪里?
发布网友
发布时间:2022-05-16 02:35
我来回答
共2个回答
热心网友
时间:2023-10-09 08:01
要说一下的是,这里你使用的是iOS7之后获取票据的方式,对于appStoreReceiptURL获取到的票据receiptData,编码方式不是UTF-8,而是base64,这是苹果的文档里写的,应该使用
NSString *receiptStr = [receiptData base64EncodedStringWithOptions:0];
的方式来将票据的二进制数据转换为字符串,但是其实这里获取到的字符串是加密过的。
二次验证推荐采用将票据传给自己公司服务器然后验证的方式,这样更安全。
将发送票据验证的代码放在这个回调中
- (void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions {
for (SKPaymentTransaction *transaction in transactions) {
NSInteger state = transaction.transactionState;
switch (state) {
case SKPaymentTransactionStatePurchased:
/// 发送票据到自己的服务器
[self sendReceipt];
[[SKPaymentQueue defaultQueue] finishTransaction:transaction];
break;
case SKPaymentTransactionStateRestored:
/// 发送票据到自己的服务器
[self sendReceipt];
[[SKPaymentQueue defaultQueue] finishTransaction:transaction];
break;
}
热心网友
时间:2023-10-09 08:01
jljljljljljljljljljljljljljljljljljljljljl