Objective c 如何为我的IAP集成触摸ID?
我的IAP有以下代码,它可以成功运行,但不支持那些想使用Touch ID购买的用户。我需要向removeAdsButton方法中添加什么来支持这一点?如果我不添加任何支持Touch ID的内容,事务是否仍能成功处理Objective c 如何为我的IAP集成触摸ID?,objective-c,in-app-purchase,touch-id,Objective C,In App Purchase,Touch Id,我的IAP有以下代码,它可以成功运行,但不支持那些想使用Touch ID购买的用户。我需要向removeAdsButton方法中添加什么来支持这一点?如果我不添加任何支持Touch ID的内容,事务是否仍能成功处理 - (void)removeAdsButton { if([SKPaymentQueue canMakePayments]){ SKProductsRequest *productsRequest = [[SKProductsRequest alloc]
- (void)removeAdsButton {
if([SKPaymentQueue canMakePayments]){
SKProductsRequest *productsRequest = [[SKProductsRequest alloc]
initWithProductIdentifiers:[NSSet setWithObject:kRemoveAdsProductIdentifier]];
productsRequest.delegate = self;
[productsRequest start];
}
else{
}
}
- (void)productsRequest:(SKProductsRequest *)request didReceiveResponse:(SKProductsResponse *)response{
SKProduct *validProduct = nil;
int count = (int)[response.products count];
if(count > 0){
validProduct = [response.products objectAtIndex:0];
[self purchase:validProduct];
}
else if(!validProduct){
}
}
- (void)purchase:(SKProduct *)product{
SKPayment *payment = [SKPayment paymentWithProduct:product];
[[SKPaymentQueue defaultQueue] addTransactionObserver:self];
[[SKPaymentQueue defaultQueue] addPayment:payment];
}
- (void) paymentQueueRestoreCompletedTransactionsFinished:(SKPaymentQueue *)queue{
for(SKPaymentTransaction *transaction in queue.transactions){
if(transaction.transactionState == SKPaymentTransactionStateRestored){
[self doRemoveAds];
[[SKPaymentQueue defaultQueue] finishTransaction:transaction];
break;
}
}
}
- (void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions{
for(SKPaymentTransaction *transaction in transactions){
switch(transaction.transactionState){
case SKPaymentTransactionStateDeferred:
break;
case SKPaymentTransactionStatePurchasing:
break;
case SKPaymentTransactionStatePurchased:
[self doRemoveAds];
[[SKPaymentQueue defaultQueue] finishTransaction:transaction];
break;
case SKPaymentTransactionStateRestored:
[[SKPaymentQueue defaultQueue] finishTransaction:transaction];
break;
case SKPaymentTransactionStateFailed:
if(transaction.error.code == SKErrorPaymentCancelled){
}
[[SKPaymentQueue defaultQueue] finishTransaction:transaction];
break;
}
}
}
- (void)restorePurchasesButton {
[[SKPaymentQueue defaultQueue] addTransactionObserver:self];
[[SKPaymentQueue defaultQueue] restoreCompletedTransactions];
}
- (void)doRemoveAds{
//Does my ad removal stuff.
}
请跟随线程。希望这将帮助您。请跟随线程。希望这将帮助您。对不起,我没有跟随。我读到的唯一相关内容是必须在开发人员端设置Touch ID。这意味着,如果我保持原样,那些在应用商店购买时启用了Touch ID的人只会被提示输入他们的密码,密码应该可以正常工作?对不起,我没有这么做。我读到的唯一相关内容是必须在开发人员端设置Touch ID。这就意味着,如果我让它保持原样,那些在应用商店购买时启用了Touch ID的人只会被提示输入他们的密码,这样就可以正常工作了?