2016-09-29 78 views
4

首次向应用商店提交应用程序。应用程序审查 - 指向dev api而不是prod

按iTunes Connect中:

“模拟帐户需要使用的应用程序的所有功能”

...这是我的应用程序的情况。

我想让这个模拟账户指向dev api,但是其他的一切都指向了prod api。

我的应用程序是基于Cordova的,并且api url通过常量注入到相关的http服务中。我正在使用grunt,并且拥有grunt prod/grunt dev等命令,它们使用ngconstant生成一个模块,并为运行的命令生成api url,即dev dev api url常量的grunt dev。

我想过硬编码一个用户名和过分/重新定义URL常量,因为它似乎有点possible尽管不推荐(是一个常数和所有)。 - 我无法在任何情况下让这个工作。

所以...

有没有人知道如何解决这个问题?

如果应用程序最初与dev api url一起提交,然后被审核并接受,然后重新提交prod api〜是另一个完整的审查要求?

+0

你可以推动javascript更新,而不必经过审查 – charlietfl

回答

4

我想让这个模拟账户指向dev api,但其他的一切都指向prod api。

如果你想要这种行为,你必须实现它,我不认为有其他解决方案。

在客户端

  • 实现使用自定义属性来切换环境。该属性在应用程序启动时从后端下载,并影响所有应用程序流程。
  • 实现自定义重定向测试用户(硬编码坏的解决方案)如果用户是测试用户,指向开发环境的API在服务器端

    实现。 Apple验证后,您可以删除此检查并从数据库中删除测试用户帐户。

  • 验证期间将您的prod环境重定向到开发环境。然后在Apple验证后删除此重定向。

我认为服务器端解决方案是最好的,因为您可以随时进行更改。请记得在提交之前从iTunes连接中检查“手动发布应用程序”标志以还原所需的更改。

如果应用程序最初与dev api网址一起提交,那么审查并接受然后重新提交prod api〜是另一个完整的审查要求?

是的,如果你想上传一个新的版本,需要一个新的应用程序审查。基本上你是在起点。

+0

谢谢lubilis,多么痛苦! – Hurricane

+0

@Hurricane通常我这样做有不同的plist文件。每个包含端点URL。每个plist都是为dev,stage,qa等特定对象设置的... – Honey

2

经审核的应用程序需要被视为生产应用程序。提交的应用程序必须指向您的生产服务器/ URL,因为这是最终会在App Store中的应用程序。

如果您希望审核流程击中开发API,您唯一的选择是提交您的应用并指定您在获得批准后手动发布应用。

然后,您将您的生产服务器(由应用程序访问的服务器访问的服务器)设置为使用您的开发API /环境。一旦应用程序获得批准(但尚未在App Store中),您将更新生产服务器以使用生产API /环境。然后你将应用发布到商店。

请记住,这只适用于您的应用程序的初始版本。您无法执行任何应用更新。

+0

感谢您的回答rmaddy – Hurricane

相关问题