0

我正在尝试将应用内购买添加到我的应用中,所以在浏览了互联网之后,我决定使用 MKStoreKit,现在一切都设置好了,项目看起来还不错,应该在服务器上的文件实际上在服务器上和所有这些东西。

当我在设备上运行应用程序并按下测试按钮“购买”时,混乱就开始了。首先这是我得到的结果。

    2012-02-09 17:45:28.324 MyApp[7147:707] checking if com.my.company.testinapp.pack001 pack is purchased
    2012-02-09 17:45:30.814 MyApp[7147:707] Review request cannot be checked now: (null)
    2012-02-09 17:45:33.335 MyApp[7147:707] NSUbiquitousKeyValueStore error: com.my.company.inapp has no valid com.apple.developer.ubiquity-kvstore-identifier entitlement
    2012-02-09 17:45:33.370 MyApp[7147:707] Problem in iTunes connect configuration for product: com.my.company.testinapp.pack001
    2012-02-09 17:45:34.063 MyApp[7147:707] User cancelled transaction: <SKPaymentTransaction: 0x8c0fde0>
    2012-02-09 17:45:34.064 MyApp[7147:707] error: Error Domain=SKErrorDomain Code=3 "Cannot connect to iTunes Store" UserInfo=0x8c1f210 {NSLocalizedDescription=Cannot connect to iTunes Store}
    2012-02-09 17:45:34.065 MyApp[7147:707] User Cancelled Transaction
    2012-02-09 17:45:58:174 MyApp[7147:20747] finished networking setup

让我们退后一步看一下场景:

这是我的调用代码

- (IBAction)iap:(id)sender {
    NSLog(@"checking if %@ pack is purchased", kFeatureAId);
    if([MKStoreManager isFeaturePurchased:kFeatureAId]) { //unlock it
        NSLog(@"horray, you already purchased this item!");
    } else {
        [[MKStoreManager sharedManager] buyFeature:kFeatureAId
            onComplete:^(NSString* purchasedFeature) {
                NSLog(@"Purchased: %@", purchasedFeature);
            } onCancelled:^ {
                NSLog(@"User Cancelled Transaction");
        }];
    }
}

所以基本上我除了调用购买测试项目之外什么也没做。

这是MKStoreConfig.h

#define kConsumableBaseFeatureId @"com.my.company.inapp"                        /* this is the bundle id */
#define kFeatureAId @"com.my.company.testinapp.pack001"                         /* this is the product id */
#define kConsumableFeatureBId @"com.my.company.testinapp.pack001.582046155"     /* this is the product id + product number */
#define FishBasket @"FishBasket"

#define SERVER_PRODUCT_MODEL 4
#define OWN_SERVER @"http://testings.company.my.com/inappscripts"
#define REVIEW_ALLOWED 1

#warning Shared Secret Missing Ignore this warning if you don't use auto-renewable subscriptions
#define kSharedSecret @"d43ecfa9d8b94facfbcfed1eca509dbe"

这些信息足以对我的案例场景进行分析,如果您需要更多详细信息,请询问,我很乐意回答。

希望有人可以帮助我解决这个问题。:) 提前致谢!

-k-

4

1 回答 1

6

当您收到消息“产品的 iTunes 连接配置存在问题:com.my.company.testinapp.pack001”时,这意味着您的产品未在 iTunes 连接上正确配置。

是否已经“清盘出售”?

您是否上传了屏幕截图并将状态标记为“开发者已批准”?

如果这是您的第一个应用程序,您是否已向 Apple 提交了银行和税务报表?- 奇怪的是,如果您不能“合法”销售产品,IAP 将失败。您的“合同、税务和银行业务”信息应在所有三个部分显示绿色勾号。

希望有帮助。

-- Mugunth(我写了 MKStoreKit)

于 2012-02-10T14:38:41.220 回答