【发布时间】:2011-08-16 12:30:40
【问题描述】:
目前我正在开发需要应用内购买的 iOS 应用程序。
与许多教程一样(例如:http://www.raywenderlich.com/2797/introduction-to-in-app-purchases)。我在 iTunesConnect 中创建了新应用程序,上传了二进制文件并拒绝了它。之后,我在应用购买产品中添加了一些。在下一步中,我将 Storekit 添加到我的 Xcode 项目中,然后我在我的 UIViewController 中编写了这段代码:
- (void)buyPressed
{
SKProductsRequest *request= [[SKProductsRequest alloc] initWithProductIdentifiers: [NSSet setWithObjects: @"com.mycompany.appliaction_name.levelpack",nil]];
request.delegate = self;
[request start];
NSLog(@"request started");
}
- (void)productsRequest:(SKProductsRequest *)request didReceiveResponse:(SKProductsResponse *)response
{
NSArray *products = response.products;
for (int i=0; i<[products count]; i++)
{
SKProduct *proUpgradeProduct = [products objectAtIndex:i];
if (proUpgradeProduct)
{
NSLog(@"Valid product id: %@" , proUpgradeProduct.price);
NSLog(@"Product title: %@" , proUpgradeProduct.localizedTitle);
NSLog(@"Product description: %@" , proUpgradeProduct.localizedDescription);
NSLog(@"Product price: %@" , proUpgradeProduct.price);
NSLog(@"Product id: %@" , proUpgradeProduct.productIdentifier);
}
}
for (NSString *invalidProductId in response.invalidProductIdentifiers)
{
NSLog(@"Invalid product id: %@" , invalidProductId);
UIAlertView *myAlertView = [[UIAlertView alloc] initWithTitle:@"Apple connection error!" message:nil delegate:self cancelButtonTitle:@"CLOSE" otherButtonTitles:nil];
[myAlertView show];
[myAlertView release];
}
}
我仍然收到我所有应用内产品的产品 ID 无效的信息。今天我发现了这个:http://developer.apple.com/library/ios/#technotes/tn2259/_index.html
还有一件重要的事情: “重要提示:在应用程序准备好接受 App Review 批准之前,请勿将开发二进制文件上传到 iTunes Connect。如果二进制文件存在于 iTunes Connect 中且功能不完整,App Review 将审查二进制文件并可能拒绝开发二进制文件。如果您或 App Review 在 iTunes Connect 中拒绝了您最近的二进制文件,则测试 In App Purchase 将失败。在这种情况下,解决方法是上传一个没有 In App Purchase 功能的二进制文件,该功能可以得到 App Review 的批准。一旦二进制文件被批准,恢复使用应用内购买功能测试二进制文件。”
所以我必须再次在 iTunes 中创建新应用,或者我应该在没有应用内购买的情况下构建和提交我的应用,以及应用何时出现在 iTunes 中开发新版本的应用内购买?
感谢您的回答!
【问题讨论】:
标签: iphone ios xcode in-app-purchase app-store-connect