Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xcode 未授权在沙盒环境中购买macOS应用程序内_Xcode_Macos_In App Purchase_App Store_Mac App Store - Fatal编程技术网

Xcode 未授权在沙盒环境中购买macOS应用程序内

Xcode 未授权在沙盒环境中购买macOS应用程序内,xcode,macos,in-app-purchase,app-store,mac-app-store,Xcode,Macos,In App Purchase,App Store,Mac App Store,我正在尝试使用我在iOS应用程序中使用的相同Swift代码、沙盒测试仪和iTunes Connect帐户在macOS应用程序中进行应用内购买(IAP)。然而,我不能让它工作。我用的是macOS High Sierra 10.13.6 开放应用程序 苹果公司的IAP测试建议如下: 在开发macOS设备上,注销Mac应用商店。然后在Xcode中构建应用程序并从Finder启动 如果文本“[Environment:Sandbox]”没有出现,则表示您正在使用生产环境。确保您正在运行应用程序的开发签名版

我正在尝试使用我在iOS应用程序中使用的相同Swift代码、沙盒测试仪和iTunes Connect帐户在macOS应用程序中进行应用内购买(IAP)。然而,我不能让它工作。我用的是macOS High Sierra 10.13.6

开放应用程序 苹果公司的IAP测试建议如下:

在开发macOS设备上,注销Mac应用商店。然后在Xcode中构建应用程序并从Finder启动

如果文本“[Environment:Sandbox]”没有出现,则表示您正在使用生产环境。确保您正在运行应用程序的开发签名版本。生产签名生成使用生产环境

我遵循这些步骤,退出Mac应用商店,构建我的应用程序——为开发而签名——然后从Finder启动它。不幸的是,这意味着我没有得到调试日志

导航到应用程序中的产品表 这是我的产品表:

我可以按“免费”按钮或“4.99英镑”按钮购买产品

尝试按“免费”键购买产品 短暂等待后,弹出此弹出窗口,显示“需要登录”。我使用我的一个沙盒测试仪登录(注意:我现在尝试了五个不同的测试帐户,它们都在同一iTunes Connect帐户下的iOS应用程序上工作),注册的电子邮件地址不是Apple ID:

选择“购买”后,在短暂等待之后,将出现下一个弹出窗口:

选择“取消”(根据建议)后,在短暂等待后,将出现下一个弹出窗口:

您此时无权在沙箱中购买此InApp。
[环境:沙箱]

所以我不确定它是否让我登录,我假设我的购买失败了(我的表UI没有更新为“已购买”)。请注意,我也尝试过在这里按“Change Store”,但最终还是失败了

再次按“免费”键尝试购买产品 这一次,我没有被提示登录;相反,我被立即问到是否愿意购买该产品。我点击“确认”

但是,现在购买交易从未完成:


我可能做错了什么?我是否也需要注销
设置>Internet帐户中的任何东西(例如iCloud)

似乎很蹩脚,但我最终通过创建新的Sandbox tester帐户解决了这个问题(提示:这次,我将它们配置为基于美国的,以避免在支付流程中切换商店的复杂性)


我认为问题在于我没有验证我使用的沙盒测试仪帐户。这可能是因为苹果要求我验证/激活Sandbox tester帐户的电子邮件被归类到我的垃圾邮件中并完全丢失了,或者是因为当我点击他们电子邮件中的链接时,他们的后端出现了问题(我经历了这两种行为)。

这是一个软件编码问题吗?或者你只是想猜猜看?你没有标签表明你在用什么语言写作。我的猜测是,您使用的电子邮件地址已经在另一个测试中使用。我将补充我事后的想法,即重新使用已被iOS应用商店购买“破坏”的沙盒测试仪可能是“坏运气”。这只是我的迷信,但可能值得花几分钟的时间为macOS应用商店购买创建一个全新的沙盒测试仪帐户,而不是冒几个小时的风险重新使用购买了iOS应用商店的沙盒测试仪时遇到的错误。