在您的设备上安装同时包含演示和正式版本的iOS/Android应用程序。

11 浏览
0 Comments

在您的设备上安装同时包含演示和正式版本的iOS/Android应用程序。

我有一个已经在App Store和Play Store上发布的应用。已发布的应用指向我的生产服务器。我想要做的是让我的设备安装一个指向我的测试服务器的“staging”应用,这样在开发过程中不会影响真实用户。所以基本上,我的设备上会有两个应用 - MyApp和MyApp_Staging。staging应用必须能够分发给我的测试人员。

我使用Parse的推送通知功能。staging应用怎么能有相同的功能?我需要为staging应用再创建一个开发者账户吗?

我一直在研究iOS的Beta测试功能。似乎我的staging应用在推送给测试人员之前必须经过Apple的审核。我怎么跳过审核过程?对于Android来说,分阶段发布似乎是一个好主意,但是分阶段发布的应用会替换生产应用。

有没有办法在设备上同时安装staging和生产应用?

0
0 Comments

问题:在设备上同时安装staging和production的iOS / Android应用的原因以及解决方法

在iOS上,我在同一设备上安装了staging和production的应用。我不知道Android的情况,但是这是我在iOS上使用Parse推送通知的设置。

A: 同一设备上安装多个应用版本的问题:

为了在同一设备上安装这两个应用,它们的bundle identifiers需要不同。具体操作如下:

1. 打开项目并进入目标的Info选项卡。

2. 找到Bundle identifier设置。

3. 在identifier的末尾添加后缀,如:com.MyApp$(BUNDLE_ID_SUFFIX)。

4. 现在打开Build Settings选项卡并添加一个新的User-Defined设置。

5. 设置设置的名称为BUNDLE_ID_SUFFIX。

6. 为每个构建配置添加不同的后缀。例如,Debug构建配置的值可以为.debug,Release构建配置的后缀为空。我有3个不同后缀的构建配置:

- Debug用于开发测试。

- Adhoc用于发布给测试人员进行Adhoc测试。

- Release用于发布到App Store。

如果按照上述步骤进行操作,你会发现在设备上安装的所有应用版本都具有相同的名称,很难区分它们。

为了解决这个问题,返回到Info选项卡,并编辑Bundle display name设置,将其修改为${PRODUCT_NAME}${BUNDLE_DISPLAY_NAME_SUFFIX}。

与上述步骤类似,创建一个名为BUNDLE_DISPLAY_NAME_SUFFIX的新的User-Defined设置,并为每个构建配置添加不同的值,例如我的设置为α和β。

上述操作将允许您在单个设备上安装多个应用版本。

B: 在不同版本之间设置Parse推送通知。

为了使Parse推送通知在这些版本之间工作,可以按照Parse教程为每个bundle identifier创建证书和预配配置文件。例如,我为我的3个bundle identifiers创建了3个证书/预配配置文件:

1. com.MyApp.debug是DEBUG的开发配置文件。

2. com.MyApp.adhoc是AdHoc测试的AdHoc Production配置文件。

3. com.MyApp是提交到App Store的AppStore Production配置文件。

确保在Build Settings中设置正确的预配配置文件,以便正确签名应用。

将所有证书上传到Parse.com。Parse允许您拥有6个不同的iOS推送证书。

C: 使用不同的生产环境和staging环境服务器。

在Build Settings选项卡上设置预处理宏。搜索Preprocessor,在Apple LLVM 6.1 - Preprocessing下的Preprocessor Macros设置中,为每个构建配置设置不同的宏。例如,我的设置为Adhoc的ADHOC=1,Debug的DEBUG=1。

然后在您的源代码中添加以下内容:

#if defined(DEBUG)

#define SERVER

#else

#if defined(ADHOC)

#define SERVER

#else

#define SERVER

#endif

D: 将构建版本发送给测试人员。

关于这个问题可能已经有了多次讨论。我不太喜欢苹果的Beta测试流程,还有其他很多解决方案。我喜欢的一种解决方案是Crashlytics的Beta。

您可以在这里了解更多信息:http://try.crashlytics.com/beta/

我将AdHoc构建配置部署给测试人员,因为它是使用Adhoc预配配置文件构建的,这样我就可以在不需要苹果批准的情况下在100台设备上部署它。

对于可能会遇到这个问题的任何人,我只有Debug和Release构建配置。您可以转到Editor> Add Configuration> Duplicate "Debug" Configuration来添加其他配置(在我的情况下是"AdHoc")。请确保选择Info选项卡并选择项目(而不是特定的目标)进行操作!详情请参见stackoverflow.com/questions/19842746/…

0
0 Comments

在Android中安装同时运行staging和production应用的原因是为了方便测试和开发,解决方法是使用不同的包名和不同的服务器进行区分。

在安装两个应用的同一设备上,可以通过为应用使用不同的包名来同时安装两个应用。

staging应用的包名是com.company.testapp,production应用的包名是com.company.live

为了与服务器进行交互,两个应用需要使用不同的URL。可以将URL存储在某个文件中,并将其作为静态变量在应用中使用。

推送通知的代码也需要针对不同的服务器进行部署。

对于未来的查看者,可以在Android Studio中使用以下方法快速和方便地更改包名:stackoverflow.com/questions/16804093/…

0