【发布时间】:2011-04-03 15:44:41
【问题描述】:
我有一个免费的 iPhone 应用程序,用于购买应用程序。我用沙盒环境测试了我的第一个 InAppPurchase,它运行良好。在 InAppPurchase 获得批准并在 App Store 中正常运行后,我在 iTunes Connect 中添加了几个新的 InAppPurchase,并尝试在沙盒环境中对其进行测试。但是我在我的应用中找不到这些新的 InAppPurchases。
以下是我用来获取 InAppPurchase 产品的代码:
//....
SKProductsRequest *prodRequest= [[SKProductsRequest alloc] initWithProductIdentifiers:
[NSSet setWithObject: prod]];
prodRequest.delegate = self;
[prodRequest start];
//....
- (void)productsRequest:(SKProductsRequest *)request didReceiveResponse:(SKProductsResponse *)response {
int count = [response.products count];
NSLog(@"number of products:%d",count);
for (int i=0; i < count; i++) {
SKProduct* product = [response.products objectAtIndex:i];
NSLog(@"product %d:id=%@ title=%@ desc=%@ price=%@", i, product.productIdentifier, product.localizedTitle,
product.localizedDescription,
product.price);
}
}
如果我使用旧的 InAppPurchase 产品 ID,我可以获得它,但如果我使用任何新创建的产品 ID,我会得到 count==0。
从我所见,我猜在我的第一个 InAppPurchase 获得批准后,应用程序可能没有在沙盒环境中运行,但这只是一个猜测,因为我不知道如何检查我的应用程序是否处于沙盒模式与否。
我在互联网上搜索了这个问题并尝试了以下方法: 1.创建了我的应用程序的新版本,将其上传到iTunes connect,并拒绝了二进制文件。没用 2.删除了我所有的配置文件并创建了新的。没用 3. 在开发人员配置门户中为我的应用程序创建了一个应用程序 ID,并为该 ID 创建了配置文件并在 Xcode 中使用它。没用
我的 Xcode 版本是 3.2.5。我将它升级到 4,但这并没有解决问题。
我想知道是否有其他人看到此问题并找到了解决方案。谢谢。
【问题讨论】:
-
我也有同样的问题。幸运的是,我有几个可以使用的设备,它适用于某些设备,但不适用于其他设备。所以在另一台设备上试试。我还看到有人说完全重置他们的设备可以解决这个问题。
-
谢谢扎基。我有两个设备。一个我以前用于测试我的第一个 InAppPurchase,另一个是新的,但都不起作用。
标签: iphone in-app-purchase storekit