我正在尝试使用Store Kit设置应用内购买。我有Store Kit编程指南,但有些方面不明确。我首先尝试从iTunes连接获得以下响应:
- (void)requestProductData {
SKProductRequest *request = [[SKProductsRequest alloc] initWithProductIndentifiers: [NSSet setWithObject: @"com.domain.appname.productid"]];
request.delegate - self;
[request start];
}
- (void)productsRequest:(SKProductsRequest *)request didRecieveResponse:(SKProductsResponse *)response {
NSArray *myProduct = response.products;
NSLog(@"array count: %i", [myProduct count]);
}
我添加了storekit框架 - 我添加了Storekit.h,并在.h中添加了委托。我在iTunes中设置了一个测试产品(在我的代码中,我有完整的路径,而不是上面的示例)。但它总是为数组计数返回0。
有人有这方面的经验吗?似乎文档很少,没有实际的示例代码。
谢谢!
UPDATE!我相信这与App Ids和配置文件现在有关。您似乎需要为应用程序提供特定的应用程序ID和配置文件。我正在对此进行测试,如果这是正确的话,我会回答这个问题。其他任何可以确认的人都可以!
答案 0 :(得分:2)
首先,您必须确保完成Apple的所有文书工作。这是在合同,税务信息和银行部门。
是的,您确实需要特定的App ID和App ID前缀(也称为Bundle Seed ID)。您不能在此处使用通配符App ID。我说的是“ABCDE12345.com.mycompany.myapp”。
是的,您需要将IAP项目标记为已清除待售。 (您需要先设置应用程序ID前缀。)有些人报告您在创建IAP项目时需要选中“清除待售”复选框;让它不受控制,然后尝试编辑&以后启用它不起作用。
是的,您确实需要设置配置文件,因为:
不,您无法在模拟器中测试商店套件 - 您需要在设备上运行,无论该设备是iPhone,iPad还是iPod Touch。您可以使用[SKPaymentQueue canMakePayments]进行检查,如果您使用的家长控制已停用商店,也会返回NO。
不,您不需要将应用程序本身在App Store中出售,但我认为您可能需要批准它出售,然后拒绝它以使其进入正确的状态。
答案 1 :(得分:0)
首先,您必须确保完成Apple的所有文书工作。这是在合同,税务信息和银行部门。
http://troybrant.net/blog/2010/01/in-app-purchases-a-full-walkthrough/
是的,您确实需要特定的App ID和App ID前缀(也称为Bundle Seed ID)。您不能在此处使用通配符App ID。我说的是“ABCDE12345.com.mycompany.myapp”。
是的,您需要将IAP项目标记为已清除待售。 (您需要先设置应用程序ID前缀。)有些人报告您在创建IAP项目时需要选中“清除待售”复选框;让它不受控制,然后尝试编辑&以后启用它不起作用。
是的,您确实需要设置配置文件,因为:
不,您无法在模拟器中测试商店套件 - 您需要在设备上运行,无论该设备是iPhone,iPad还是iPod Touch。您可以使用[SKPaymentQueue canMakePayments]进行检查,如果您使用的家长控制已停用商店,也会返回NO。
答案 2 :(得分:0)
查看TN2259特别是FAQ#6。在重新安装Xcode之前,请务必删除旧版本并注销应用商店。