我希望TestFlight上的内部测试和外部测试用户在首次运行应用程序时转到不同的API服务器。我想知道应用程序是否可以检测它是否作为TestFlight的“内部测试”或“外部测试”应用程序安装。
如果这不可行,我的下一个选择是构建一个单独的应用程序,以发送到Testflight,它将在启动时使用不同的API服务器。但这更复杂。
这样做的原因是我只希望外部测试人员从服务器上看到真实数据。而不是我们在开发应用程序时提交的虚假测试数据。
答案 0 :(得分:1)
据我所知,无法检测运行应用程序的内部和外部测试人员。
但您不必构建两个不同的应用程序。我有类似的要求:我在应用程序设置中有一个特殊的菜单,内部测试人员可以调整应用程序的几个方面,例如他们连接的服务器,这样他们就可以测试应用程序而不会弄乱生产数据,或者在受控环境中购买内容。我不希望这些设置可供外部测试人员使用,因此我执行以下操作:
ReleaseInternal
),另一个用于其余部分(Release
)INTERNAL_TESTING
)fastlane
自动释放应用程序,并带有一个标志,指示我是否要将应用程序发布到内部或外部测试人员,因此我不会犯错并发布错误的版本错误的人答案 1 :(得分:0)
无法检测应用程序是否已安装为"内部测试"或"外部测试"。
另一个解决方案是默认构建指向实际数据的构建,但是有一个隐藏的开关,您可以教内部用户切换到测试数据。
您可以使用NSUserDefaults保存切换设置,以便内部用户不必在每次安装新版本或重新启动应用时都切换它。
如果您担心真实用户会发现您的秘密切换,那么您必须按照自己的意愿制作单独的应用。