在app中购买ios

时间:2013-07-25 21:24:17

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

我对恢复iap感到困惑,如何恢复它我已经管理了所有代码如何恢复它工作正常。 我面临的问题是在哪里调用恢复以前的购买 1)在应用程序第一次运行时,在视图中调用仅加载一次...

[[SKPaymentQueue defaultQueue] addTransactionObserver:self];
[[SKPaymentQueue defaultQueue] restoreCompletedTransactions];

2)在用户再次点击购买功能之前调用它 如果它无法恢复,则调用购买功能。

我很困惑如何解决它...... 我面临的另一个问题是,当它尝试从不同的苹果ID(实际上没有购买该功能)恢复以前的购买时,然后在模拟器弹出窗口打开connot连接到ITUNE ......

2 个答案:

答案 0 :(得分:0)

要恢复,您必须提供恢复按钮,以便每当用户单击该按钮时,应恢复用户所做的所有购买。在IBAction方法中编写这些代码以恢复

-(IBAction)restorePurchase:(id)sender
{
    [[SKPaymentQueue defaultQueue] addTransactionObserver:self];
    [[SKPaymentQueue defaultQueue] restoreCompletedTransactions];
}

请记住,应用购买测试应该在不在模拟器上的设备上完成。

答案 1 :(得分:0)

你有一些选择来解决这个问题:

  1. 首先调用app: - 保留一个NSUserDefaults值来计算应用程序的运行时间,就像在didFinishLaunchingWithOptions方法中一样:

    int i = [[NSUserDefaults standardUserDefaults] integerForKey:@"usageCount"];
    i = i+1;
    
    [[NSUserDefaults standardUserDefaults] setInteger:i forKey:@"usageCount"];
    [[NSUserDefaults standardUserDefaults] synchronize];
    
  2. 从应用的任何位置,您都可以查看并致电

    if([[NSUserDefaults standardUserDefaults] integerForKey:@"usageCount"]==0)
    {
        //Call you action
    }
    

    首次运行时,您可以调用还原购买的值。

    1. 您可以在应用的其他/更多/设置屏幕中保留一个选项/按钮,您可以在桌面视图中保留用户反馈,评分,应用购买,恢复购买。