Titanium 使用ti.storekit在应用程序中购买钛-未找到产品

Titanium 使用ti.storekit在应用程序中购买钛-未找到产品,titanium,appcelerator,appcelerator-mobile,titanium-modules,Titanium,Appcelerator,Appcelerator Mobile,Titanium Modules,我已将我的应用内产品全部设置为通过ti.storekit在iTunes Connect中购买: 我的Appcelerator 4.0应用程序编译并部署到我的设备(开发人员配置文件)。ti.storekit链接到我的应用程序并编译。它似乎执行正确,没有未处理的异常。但它告诉我它找不到我的应用内购买产品。我试过将“15把钥匙”和“15把钥匙”交给ti.storekit。我不确定它想要哪一个(参考名称或产品ID)-但无论如何这两个都不起作用 下面是ti.storekit中生成错误消息的函数: fu

我已将我的应用内产品全部设置为通过ti.storekit在iTunes Connect中购买:

我的Appcelerator 4.0应用程序编译并部署到我的设备(开发人员配置文件)。ti.storekit链接到我的应用程序并编译。它似乎执行正确,没有未处理的异常。但它告诉我它找不到我的应用内购买产品。我试过将“15把钥匙”和“15把钥匙”交给ti.storekit。我不确定它想要哪一个(参考名称或产品ID)-但无论如何这两个都不起作用

下面是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:无效产品:'+标识符)
我做错了什么?我应该给它参考名称(15个键)还是产品ID(15个键)?既然我已经尝试了这两种方法,但两种方法都不起作用,我该如何解决这个问题呢?我做错了什么

编辑:

我不清楚三件事:

1-我是否应该进入ipad上的设置并使用测试用户apple sandbox帐户登录itunes/store?我不能这样做,因为它一直要求我输入信用卡。测试我过去(在其他非iOS系统上)使用过的信用卡,例如4111111无法使用,我无法继续并登录。甚至不知道我是否应该这样做。如果是,我可以使用什么CC凭据?我应该用一个真正的抄送吗?根据我在其他文章和帖子中读到的所有内容,它说永远不要将测试帐户链接到CC号码……那么为什么苹果不允许我在不输入信用卡的情况下将测试用户登录到我的苹果设备(内部设置)

2-我没有完全按照中的步骤操作,因为在我的应用程序中没有可下载的内容,也没有可托管的内容,等等。在我的应用程序中,用户可以购买密钥,这些密钥只是我应用程序中的数字实体,没有可下载的内容。因此,我删除了所有与下载/托管有关的代码/步骤

3-我的应用的1.0.0版正在应用商店等待审查。此版本没有ti.storekit,也没有应用内购买。没有什么。但我正在开发一个更新的版本,在我最新的appcelerator 4.0项目中包含所有的storekit和应用内购买功能。这不应该在我的开发环境中,在我连接的ipad上,在开发版本中工作吗?我有1.0.0等待审查,没有storekit的东西,这一事实应该与我在storekit的开发帐户中的新版本无关,对吧?我也对这个信息感到困惑:

在我的DEV storekit工作之前,我需要向苹果提交一个新版本吗?如果是这样的话,这看起来很奇怪,好像一个应用商店候选版本与我在本地环境中开发的东西有关。这条消息是否表明我的dev storekit工具无法工作?我的应用内购买产品似乎配置正确,但我是否应该能够在dev/sandbox中连接此产品,而不考虑应用商店中等待审查的1.0应用程序(无storekit)


谢谢大家的帮助…我一定错过了一些我没有看到的关键步骤。

您是否检查过是否使用沙箱进行测试?

您是否知道必须注销现有的应用商店帐户才能进行测试?


您必须使用产品ID(15个键)。

您是否检查过是否使用沙盒进行测试?我有一个沙盒用户(在iTunes Connect上创建),但我如何将我的应用程序“指向”沙盒?
evt。产品将包含所有IAP,因此出于测试目的,您只需
控制台.log
整个列表;)福克,谢谢你的帮助。我不清楚如何指向苹果的沙盒,但我确实包含了两行代码,分别是“沙盒”和“共享秘密”。另外,我不知道你注销我的应用商店帐户是什么意思。在这个应用程序中,它甚至没有问到我的苹果证书,而且我还是以另一个苹果用户的身份登录的。Rene:evt.products的长度为零。问题可能是什么?还有一个问题:我提交给苹果的二进制文件是否必须包含应用程序内的storekit代码?我想在提交给苹果进行最终的应用商店发布之前,我可以测试我的应用商店内容。@SweatCoder mm,如果它返回空值,那么它可能没有使用沙盒,或者您没有在iTunes Connect中正确配置产品。是的,当然,你发送给苹果的版本必须有这个模块,否则它将无法工作。但是你可以通过一个特别的构建来测试它。我如何知道我是否在使用沙箱?这两行沙箱代码与下载有关,这对我来说不适用。我有一个沙盒测试帐户,但我甚至没有得到足够的权限来提示输入凭据。