应用内购买在恢复时询问旧帐户密码

时间:2014-07-11 08:59:32

标签: ios objective-c in-app-purchase

当我打开应用程序时,弹出的iTunes登录没有用户的任何交互。弹出包含我的旧测试用户帐户邮件ID有时我当前的testuser邮件ID aslo.I听说我必须打电话

[[SKPaymentQueue defaultQueue] finishTransaction:transaction];

我曾多次打电话给我,我认为这是必要的。但它还在问密码。 这是我的代码:

-(void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions
{
for(SKPaymentTransaction *transaction in transactions)
{
    NSLog(@"Updated transaction %@",transaction);
    switch (transaction.transactionState)
    {
        case SKPaymentTransactionStateFailed:
            [self errorWithTransaction:transaction];
            [[SKPaymentQueue defaultQueue]finishTransaction:transaction];
            break;
        case SKPaymentTransactionStatePurchasing:
            NSLog(@"Purchasing...");
            break;
        case SKPaymentTransactionStatePurchased:
        {
          if(no need to download)
           {
             //  I will download the content later by restoring transactions.
               [[SKPaymentQueue defaultQueue]finishTransaction:transaction];
           }
          else
           {
               [[SKPaymentQueue defaultQueue] startDownloads:transaction.downloads];
           }
         }
         case SKPaymentTransactionStateRestored:
        {
           if(no need to download content)
           {
               [[SKPaymentQueue defaultQueue]finishTransaction:transaction];
           }
           else
           {
               [[SKPaymentQueue defaultQueue] startDownloads:transaction.downloads];
           }
        }
           break;

        default:
           break;
    }
}
-(void) paymentQueue:(SKPaymentQueue *)queue updatedDownloads:(NSArray *)downloads
{
for (SKDownload *download in downloads)
{
    switch (download.downloadState)
    {
        case SKDownloadStateActive:
        {
         //   showing download progress
        }
        case SKDownloadStateCancelled: 
        {
           [[SKPaymentQueue defaultQueue] finishTransaction:download.transaction];
        }
        case SKDownloadStateFailed:
        {
          //  showing alert and finish transactions
           [[SKPaymentQueue defaultQueue] finishTransaction:download.transaction];
         }break;
        case SKDownloadStateFinished:
        {
          //  processing content and finished the transactions
           [[SKPaymentQueue defaultQueue] finishTransaction:download.transaction];
        }break;
     }
}
}

这是否正确,是否有任何地方可以调用 finishTransaction:方法。请让我知道是...
提前谢谢..

0 个答案:

没有答案