こんにちは、Inapp-Purchase に復元機能を実装する必要があります。これは、メソッドを呼び出している「復元」ボタンを作成するためです。
-(void)restorePurchasedProductsWithProductId:(NSString*)prodID
{
_productIdsArray = [[NSMutableArray alloc] init];
productID = [prodID retain];
[[SKPaymentQueue defaultQueue] restoreCompletedTransactions];
}
Apple IDのパスワードを入力するポップアップが表示されます。その後、何も起こりません。
私はそれが呼ぶどこかで読みました
- (void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions
だから私はこれが好きだった
- (void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions
{
NSLog(@"paymentQueue");
for (SKPaymentTransaction *transaction in transactions)
{
switch (transaction.transactionState)
{
case SKPaymentTransactionStatePurchased:
[self completeTransaction:transaction];
break;
case SKPaymentTransactionStateFailed:
[self failedTransaction:transaction];
break;
case SKPaymentTransactionStateRestored:
NSLog(@"restored");
[self restoreTransaction:transaction];
break;
default:
break;
}
}
}
しかし、問題は、上記のメソッドがこれも呼び出していないことです
- (void)paymentQueueRestoreCompletedTransactionsFinished:(SKPaymentQueue *)queue
または
-(void)paymentQueue:(SKPaymentQueue *)queue restoreCompletedTransactionsFailedWithError:(NSError *)error
必要なプロトコルも含めました。
これらのデリゲート メソッドが復元プロセスを呼び出さない理由を教えてください。テストアカウントで試しています。