MKStoreKit购买功能什么都不做

时间:2012-03-26 21:44:58

标签: iphone objective-c in-app-purchase mkstorekit

我正在尝试让MKStoreKit使用我的Cocos2D游戏。它看起来很简单,我已经按照所有步骤进行了几次(检查我是否已正确完成)但我仍然无法使其工作。我可以检索产品名称,价格和描述等,但我可以使用共享的MKStoreKitManager进行购买。

以下是我购买产品的代码:

if([MKStoreManager isFeaturePurchased: @"com.testing.iap.removeAds"]) {      
        NSLog(@"No ads");
    }else{
        NSLog(@"Ads");

        NSLog(@"Buying feature...");

        [[MKStoreManager sharedManager] buyFeature: @"com.testing.iap.removeAds"
                                        onComplete:^(NSString* purchasedFeature)
         {
             NSLog(@"Purchased: %@", purchasedFeature);
             // provide your product to the user here.
             // if it's a subscription, allow user to use now.
             // remembering this purchase is taken care of by MKStoreKit.
         }
                                       onCancelled:^
         {
             NSLog(@"Something went wrong");
             // User cancels the transaction, you can log this using any analytics software like Flurry.
         }];  

    }

基本上如果以前没有购买产品,请启动购买流程。问题是没有任何反应!我甚至没有调用onCancelled,除了我可以忽略的那个(即iCloud支持和自定义服务器选项)之外没有任何错误消息。

任何人都可以了解这是什么阻止了我?

注意:我正在测试运行iOS 5.1的iPhone 4设备

3 个答案:

答案 0 :(得分:2)

只要您的应用启动,请致电:

[MKStoreManager sharedManager];

就是这样。只要在下载产品后调用 -buyFeature:方法(如果需要,您可以观察 kProductFetchedNotification ),一切都按预期工作。

答案 1 :(得分:0)

我不知道什么没有工作但是在花了大半个工作日试图让这个工作后我决定从头开始一个新项目再试一次。我做的一切都完全一样,一切都奏效了!

答案 2 :(得分:0)

确保已将IAP密钥添加到 MKStoreKitConfigs.plist 。没有它,它什么都不做。

也可能需要几个小时才能使IAP寄存器可用于测试。