我的应用内商品已全部设置为通过ti.storekit在iTunes Connect中购买:
我的Appcelerator 4.0应用程序编译并部署到我的设备(开发配置文件)。 ti.storekit链接到我的应用程序并进行编译。在没有未处理的异常方面,它似乎也正确执行。但它告诉我它无法找到我的应用内购买产品。我已经尝试将“15键”和“15Keys”交给ti.storekit。我不确定它想要哪一个(参考名称或产品ID) - 但无论如何都不起作用。
Here's the documentation I've been following
这是ti.storekit中产生错误消息的函数:
function requestProduct(identifier, success)
{
Storekit.requestProducts([identifier], function (evt) {
if (!evt.success) {
alert('ERROR: We failed to talk to Apple!');
}
else if (evt.invalid) {
alert('ERROR: Invalid product: ' + identifier);
}
else {
success(evt.products[0]);
}
});
}
正在执行“else if”行:alert('ERROR: Invalid product: ' + identifier);
我究竟做错了什么?我应该提供参考名称(15键)或产品ID(15Keys)吗?既然我已经尝试了两者而且都不起作用,我该如何解决这个问题呢?我做错了什么?
编辑:
我不清楚3件事:
1-我应该在我的ipad上进入设置并使用我的TEST USER苹果沙箱帐户登录itunes / store吗?我无法这样做,因为它一直要求我输入信用卡。我过去使用的测试信用卡(在其他非iOS系统上),如4111111111111111不起作用,我无法继续并登录。甚至不确定我是否应该这样做。如果是这样,我可以使用哪些CC凭据?我应该使用REAL CC吗?基于我在其他文章和帖子中阅读的所有内容,它表示永远不会将测试帐户链接到CC编号...那么为什么苹果不允许我登录我的测试用户到我的苹果设备(在设置内)输入信用卡?
2-我没有完全按照https://github.com/appcelerator-modules/ti.storekit/blob/master/ios/example/app.js中的步骤进行操作,因为在我的应用程序中没有任何内容可供下载,无需托管等。在我的应用程序中,用户可以购买密钥,这些密钥只是数字实体在我的应用程序 - 没有什么可下载。所以我删除了与下载/托管有关的所有代码/步骤。
3-我的应用程序版本1.0.0正在等待应用程序商店中的审核。此版本没有ti.storekit,也没有应用内购买。没有。但是我正在开发一个更新的版本,包含我最新的appcelerator 4.0项目中的所有storekit和应用内购买内容。这不应该在我的开发环境中,在我连接的ipad上,在开发构建中工作吗?我有1.0.0等待审查的事实,没有storekit的东西,应该与我在我的开发帐户中使用storekit的新版本无关,对吧?我也对这条消息感到困惑:
在我的DEV storekit工作之前,我是否需要向Apple提交新版本?如果是这样,这似乎很奇怪,好像app-store候选版本与我在本地环境中开发的东西相关联。这条消息表明为什么我的dev storekit东西不起作用?我的应用程序内购买产品似乎已正确配置,但我不应该在dev / sandbox中与此连接,无论应用程序商店中有等待审核的1.0应用程序(没有商店套件)?
感谢大家的帮助......我必须错过一些我没有看到的关键步骤。
答案 0 :(得分:4)
您是否检查过是否使用Sandbox进行测试? https://github.com/appcelerator-modules/ti.storekit/blob/master/ios/example/app.js#L86
您是否知道必须退出现有的App Store帐户才能进行测试? https://developer.apple.com/library/ios/documentation/LanguagesUtilities/Conceptual/iTunesConnectInAppPurchase_Guide/Chapters/TestingInAppPurchases.html
您必须使用产品ID(15Keys)。