使用iTunes测试用户时的预期顺序

24

我正试图在我们的应用程序中测试应用内购买,但是我一直没有成功。问题的一部分可能是由于没有记录预期序列。下面是我为支持应用内购买所遵循的步骤:

  1. 在iTunes Connect中创建测试用户。
  2. 在设备上退出商店登录状态。
  3. 使用非通配符App ID和针对设备(运行iOS 4.2.1的iPhone 4)的配置文件,在Xcode中构建并运行应用程序。我已经按照调试和Ad-hoc发布两种方式来执行此操作。
  4. 进行应用内购买。
  5. 弹出提示:“确认您的应用内购买”,显示两个按钮 - 取消和购买。点击购买按钮。
  6. 弹出提示:“登录”,显示三个按钮 - 使用现有的Apple ID、创建新的Apple ID和取消。点击“使用现有的Apple ID”按钮。
  7. 弹出提示:“Apple ID密码”,显示两个文本字段和两个按钮 - 取消和确定。输入测试用户的电子邮件地址和密码,然后点击“确定”按钮。

这里是我对预期行为的理解不足之处。此时我所看到的情况如下:

  1. 弹出提示:“此Apple ID尚未在iTunes Store中使用。点击“查看”进行登录”,显示两个按钮 - 取消和查看。在所有的文档、博客文章和论坛中,没有人提到过这个提示。这是否应该显示出来?我点击了“查看”按钮。
  2. 现在我被带到App Store应用程序,并经历一系列步骤来确认账户。
  3. 第一页标题为“确认您的国家或地区”,有一个名为Store的单一值设置为“美国”。我点击底部工具栏上的下一步按钮。
  4. 第二页是同意条款和条件以及苹果隐私政策。我点击底部工具栏上的同意按钮。
  5. 弹出提示:“我已阅读并同意iTunes Store条款和条件。”显示两个按钮 - 取消和同意。我点击“同意”。
  • 第三个页面是确认帐户信息(电子邮件,密码,安全问题,出生日期)并启用/禁用iTunes商店订阅信息。它要求我输入年份(为什么iTunes Connect不直接问我!)。我输入了出生年份,然后点击底部工具栏上的下一步按钮。
  • 第四个页面标题为“账单信息”。这就是我意识到有些不对劲的时候。所有文档、博客和论坛都说我不应该被要求提供信用卡信息。
  • 问1:一旦我输入测试用户的电子邮件地址和密码(第一组步骤),我应该期望什么?

    问2:为什么要求我提供所有这些额外的测试用户信息?我应该查看哪些内容以进行故障排除?

    感谢您的帮助。

    7个回答

    30

    当你安装从App Store下载的开发应用程序时,可能会出现此问题。 要解决这个问题,您需要从设备中删除该应用程序,并使用 XCode 安装全新的副本。 iOS 缓存分发配置文件并且如果第一次安装是通过App Store完成的,则需要生产用户。无论最近使用了哪种安装方法。


    你太棒了! :) 谢谢! - Ayyappa
    谢谢!这个方法有效!不过,我还没有从应用商店安装我的应用程序(它还没有上架)。似乎与使用非测试应用程序ID有关的问题已经解决了。 - Chris Prince

    11

    以下是技巧(至少对我有效):

    首先在“设置”>“iTunes和App Store”>“Apple ID”中退出你的真实iTunes账户。你必须退出账户才能使用测试账户。

    但是,请不要在该屏幕上登录你的测试账户。

    进入应用程序,启动你的应用内购买,并在那里输入测试账户的电子邮件和密码。假设测试账户设置正确(!),那么应该可以正常工作。

    然后,在测试完成后,返回“设置”>“iTunes和App Store”>“Apple ID”,并退出测试账户。


    1
    尝试从设置中登录会导致问题。使用应用内的alertView解决了这个问题。 - WCByrne

    10

    5
    我完全删除了设备上的应用并重新尝试后,找到了我之前问题的一些答案。我不知道为什么需要这样做。
    Q1:一旦我输入测试用户的电子邮件地址和密码(第一组步骤),我应该期望什么?
    如果输入用户凭据后没有其他问题,则表示它有效。因此,如果显示第二个列表中的第一个警报,则说明它无效。
    Q2:为什么要求我提供测试用户的所有这些额外信息?我应该查看哪些内容来进行故障排除?
    我唯一能想到的是我的应用程序中有一些来自先前请求的缓存数据。这让我很紧张,因为我不知道客户是否像我一样需要删除应用程序。

    我有完全相同的问题。你现在明白发生了什么了吗? - CedricSoubrie

    1

    我曾经遇到过同样的问题,直到我退出iTunes并将正确的配置文件安装到我的设备上。使用Xcode运行iTunes有时会恢复我的帐户,因此即使我在设备上注销,我也建议在应用程序中使用我的(非测试)帐户。安装正确的配置文件解决了第二个问题。

    希望它也能帮助其他人。


    1

    这些答案都不是非常具体或完全正确的,而且在过去一年中,关于测试帐户的应用内行为已经略有改变。如果你遇到了这个问题,真正/当前的解决方案是:通过iTunes上的审核/登录页面进入测试帐户,然后在“输入账单信息”屏幕上“取消”,没有任何损失。如果由于某种原因你从未被提示进行审核/登录,则不必费心去做。


    0
    我成功绕过了这个问题,方法是先把我的测试用户登录到我开发的另一个应用中,然后再回到出现问题的应用(无论删除还是重启都没有用)。正如其他人所说,当你尝试执行应用内购买时,你不应该在“设置”菜单中以测试用户身份登录。

    网页内容由stack overflow 提供, 点击上面的
    可以查看英文原文,
    原文链接