【发布时间】:2012-07-11 00:42:04
【问题描述】:
我在进行 IAP 购买测试时遇到了一个大问题。
我已经做了接下来的步骤:
- 创建应用 ID (com.domainname.appname)
- 使用应用 ID (com.domainname.appname) 创建开发配置文件
- 在 iTunes Connect 上创建应用程序(捆绑 ID com.domainname.appname)
- 管理 IAP。使用产品 ID com.testitem1, com.testitem2, com.testitem3 创建非消耗性产品(每个产品都有准备提交状态)
配置 XCode 项目设置
捆绑标识符:com.domainname.appname
代码签名身份:我在步骤 2
中制作的开发配置文件
部署目标:4.0
设备
iPod Touch 4gen iOS 5.1.1
编写源代码
我的班级支持SKProductsRequestDelegate
在- viewDidLoad回调方法中我写了以下几行:
if ([SKPaymentQueue canMakePayments])
{
NSLog(@"YES, I CAN MAKE PAYMENTS");
}
else
{
NSLog(@"NO, I CAN NOT MAKE PAYMENTS");
}
在这个阶段一切都很好。我可以付款。
接下来,我尝试为我的产品创建请求:
SKProductsRequest *request = [[SKProductsRequest alloc] initWithProductIdentifiers: [NSSet setWithObjects:@"com.testitem1", @"com.testitem2", @"com.testitem3", nil]];
request.delegate = self;
[request start];
在这个阶段一切都很好,在下一个阶段我的请求对象调用回调方法如下:
- (void)productsRequest:(SKProductsRequest *)request didReceiveResponse:(SKProductsResponse *)response
{
NSArray *myProduct = response.products;
NSLog(@"%@", myProduct);
}
但是没有任何产品响应,我不明白为什么。
我之前已经遇到过这个问题(我只是重置了我的设备,一切正常),但在这种情况下,我无法找出问题所在。
【问题讨论】:
标签: ios in-app-purchase