我有一个应用程序,已在App Store和Play商店发布。发布的应用程序指向我的生产服务器。我想要做的是让我的设备安装一个指向我的登台服务器的“临时”应用程序,这样我就不会在开发期间搞砸真正的用户。基本上,我的设备将有两个我的应用程序 - MyApp和MyApp_Staging。登台应用程序必须能够分发给我的测试人员。
我使用Parse的推送通知功能。登台应用程序如何具有相同的功能?我是否需要另一个开发者帐户来暂存应用程序?
我一直在关注iOS Beta测试功能。在推送给我的测试人员之前,Apple似乎必须审查我的临时应用程序。如何跳过审核流程?对于Android,分阶段推出似乎是一个好主意,但分阶段的应用程序将取代生产应用程序。
有没有办法在设备上安装临时和生产应用程序?
答案 0 :(得分:14)
对于iOS:
我在同一台设备上安装了适用于iOS的登台和制作应用。我无法为Android回答此问题,但这是我使用Parse推送通知设置的iOS。
答:同一台设备上的多个应用版本:
对于要在同一设备上安装的两个应用,他们需要具有不同的捆绑标识符。要做到这一点:
com.MyApp$(BUNDLE_ID_SUFFIX)
BUNDLE_ID_SUFFIX
.debug
。将Release配置的后缀保留为空。我有3个不同后缀的构建配置。
${PRODUCT_NAME}${BUNDLE_DISPLAY_NAME_SUFFIX}
BUNDLE_DISPLAY_NAME_SUFFIX
的新用户定义设置,并为每个构建配置添加不同的值。例如我说α和β。以上将允许您在单个设备上安装多个版本的应用程序。
B:使用版本之间的解析设置推送通知。
设置解析推送通知以适用于这些版本:按照Parse tutorial为捆绑包标识符的每个创建证书和配置文件。例如我的3个包标识符有3个证书/配置文件:
确保在Build Settings中设置正确的配置文件,以便正确签署应用程序。
将所有证书上传到Parse.com。 Parse允许您拥有6种不同的iOS推送证书。
C:使用不同的制作和登台服务器。
在构建设置标签上设置预处理宏。搜索预处理器,并在 Apple LLVM 6.1 - 预处理下为预处理器宏设置每个构建配置的不同宏。例如对于调试ADHOC=1
DEBUG=1
说
然后,源代码中的某处具有如下内容:
#if defined(DEBUG)
#define SERVER <development server>
#else
#if defined(ADHOC)
#define SERVER <staging server>
#else
#define SERVER <production server>
#endif
D:向测试人员发送版本。
此主题可能已多次涵盖。我不喜欢Apple的Beta测试流程。还有许多其他解决方案。我喜欢的是Crashlytics的 Beta 。
您可以在此处阅读:http://try.crashlytics.com/beta/
我将AdHoc构建配置部署到测试人员,因为它是使用Adhoc配置文件构建的,这允许我在没有Apple批准的情况下将其部署在100台设备上。
答案 1 :(得分:2)
对于Android
com.company.testapp
- 适用于暂存的应用
com.company.live
- 适用于实时模式的应用
对于与服务器的交互,请在两个应用中使用不同的网址,例如将URL存储在某个文件中,并将其用作静态变量。
在不同的服务器上部署GCM /推送通知代码。