在您的设备上安装暂存和生产 iOS / Android 应用
Installing both staging and production iOS / Android apps on your device
我有一个已在 App Store 和 Play Store 上发布的应用程序。发布的应用程序指向我的生产服务器。我想要做的是让我的设备安装一个指向我的登台服务器的 "staging" 应用程序,这样我就不会在开发过程中与真实用户混淆。所以基本上,我的设备将有我的两个应用程序 - MyApp 和 MyApp_Staging。登台应用程序必须能够分发给我的测试人员。
我使用 Parse 的推送通知功能。登台应用程序如何具有相同的功能?我是否需要另一个开发者帐户来暂存应用程序?
我一直在关注 iOS Beta 测试功能。在我推送给我的测试人员之前,我的暂存应用程序似乎必须由 Apple 审核。如何跳过审核过程?对于 Android,分阶段推出似乎是个好主意,但分阶段应用将取代生产应用。
有没有办法在设备上安装暂存和生产应用程序?
For Android
- 要同时在同一设备上安装,请为应用程序使用不同的包名
com.company.testapp
- 对于暂存中的应用程序
com.company.live
- 对于实时模式下的应用程序
为了与服务器交互,请在两个应用程序中使用不同的 URL(s),例如将 url 存储在一些文件中并使用相同的静态变量。
在不同的服务器上部署 GCM/push 通知代码。
For iOS:
我在同一台设备上安装了 iOS 的暂存和生产应用程序。我无法为 Android 回答这个问题,但这是我使用 Parse 推送通知为 iOS 设置的。
A: Multiple versions of the app on the same device:
要将两个应用程序安装在同一台设备上,它们需要具有不同的包标识符。为此:
- 打开您的项目并转到 Target 的“信息”选项卡。
- 找到 捆绑包标识符
的设置
- 在标识符末尾添加后缀如下:
com.MyApp$(BUNDLE_ID_SUFFIX)
- 现在打开构建设置选项卡并添加一个新的用户定义设置
- 设置设置的名称为
BUNDLE_ID_SUFFIX
- 为您拥有的每个构建配置添加不同的后缀。例如调试可能具有值
.debug
。将 Release 配置的后缀留空。我有 3 个具有不同后缀的构建配置。
- 在开发过程中进行测试调试
- Adhoc 用于向测试人员发布临时构建。
- 发布到 App Store。
- 如果您遵循此路径,您会注意到您设备上安装的所有版本的应用程序都具有相同的名称,并且很难区分它们。
- 要解决此问题,请返回“信息”选项卡并编辑 捆绑包显示名称 的设置,使其成为
${PRODUCT_NAME}${BUNDLE_DISPLAY_NAME_SUFFIX}
- 与我们上面所做的类似,创建一个名为
BUNDLE_DISPLAY_NAME_SUFFIX
的新用户定义设置,并为每个构建配置添加不同的值。例如我说的是 α 和 β。
以上将允许您在单个设备上安装多个版本的应用程序。
B: Setup Push notifications using parse between the versions.
要设置 Parse 推送通知以跨这些版本工作:按照 Parse tutorial 为 每个 包标识符创建证书和配置文件。例如我的 3 个包标识符有 3 个 certificates/provisioning 个配置文件:
- com.MyApp.debug 是 DEBUG 的开发配置文件。
- com.MyApp.adhoc 是用于临时测试的临时生产配置文件。
- com.MyApp 是用于提交到 App Store 的 AppStore Production 配置文件。
确保在构建设置中设置正确的配置文件,以便正确签署应用程序。
将所有证书上传到Parse.com。 Parse 允许您拥有 6 个不同的 iOS 推送证书。
C: Using different production and staging servers.
在构建设置 选项卡上设置预处理宏。搜索 Preprocessor 并在 Apple LLVM 6.1 - Preprocessing 下搜索设置 Preprocessor Macros 为每个设置不同的宏构建配置。例如我说的是 Adhoc ADHOC=1
,Debug DEBUG=1
那么在你的源代码中某处有如下内容:
#if defined(DEBUG)
#define SERVER <development server>
#else
#if defined(ADHOC)
#define SERVER <staging server>
#else
#define SERVER <production server>
#endif
D: Sending builds to testers.
这个话题可能已经被讨论过多次了。我不喜欢 Apple 的 Beta 测试过程。还有许多其他解决方案。我喜欢的是 Beta by Crashlytics.
您可以在这里阅读:http://try.crashlytics.com/beta/
我将 AdHoc 构建配置部署到测试人员,因为它是使用 Adhoc 配置文件构建的,这允许我在 100 台设备上部署它而无需 Apple 批准。
我有一个已在 App Store 和 Play Store 上发布的应用程序。发布的应用程序指向我的生产服务器。我想要做的是让我的设备安装一个指向我的登台服务器的 "staging" 应用程序,这样我就不会在开发过程中与真实用户混淆。所以基本上,我的设备将有我的两个应用程序 - MyApp 和 MyApp_Staging。登台应用程序必须能够分发给我的测试人员。
我使用 Parse 的推送通知功能。登台应用程序如何具有相同的功能?我是否需要另一个开发者帐户来暂存应用程序?
我一直在关注 iOS Beta 测试功能。在我推送给我的测试人员之前,我的暂存应用程序似乎必须由 Apple 审核。如何跳过审核过程?对于 Android,分阶段推出似乎是个好主意,但分阶段应用将取代生产应用。
有没有办法在设备上安装暂存和生产应用程序?
For Android
- 要同时在同一设备上安装,请为应用程序使用不同的包名
com.company.testapp
- 对于暂存中的应用程序
com.company.live
- 对于实时模式下的应用程序
为了与服务器交互,请在两个应用程序中使用不同的 URL(s),例如将 url 存储在一些文件中并使用相同的静态变量。
在不同的服务器上部署 GCM/push 通知代码。
For iOS:
我在同一台设备上安装了 iOS 的暂存和生产应用程序。我无法为 Android 回答这个问题,但这是我使用 Parse 推送通知为 iOS 设置的。
A: Multiple versions of the app on the same device:
要将两个应用程序安装在同一台设备上,它们需要具有不同的包标识符。为此:
- 打开您的项目并转到 Target 的“信息”选项卡。
- 找到 捆绑包标识符 的设置
- 在标识符末尾添加后缀如下:
com.MyApp$(BUNDLE_ID_SUFFIX)
- 现在打开构建设置选项卡并添加一个新的用户定义设置
- 设置设置的名称为
BUNDLE_ID_SUFFIX
- 为您拥有的每个构建配置添加不同的后缀。例如调试可能具有值
.debug
。将 Release 配置的后缀留空。我有 3 个具有不同后缀的构建配置。- 在开发过程中进行测试调试
- Adhoc 用于向测试人员发布临时构建。
- 发布到 App Store。
- 如果您遵循此路径,您会注意到您设备上安装的所有版本的应用程序都具有相同的名称,并且很难区分它们。
- 要解决此问题,请返回“信息”选项卡并编辑 捆绑包显示名称 的设置,使其成为
${PRODUCT_NAME}${BUNDLE_DISPLAY_NAME_SUFFIX}
- 与我们上面所做的类似,创建一个名为
BUNDLE_DISPLAY_NAME_SUFFIX
的新用户定义设置,并为每个构建配置添加不同的值。例如我说的是 α 和 β。
以上将允许您在单个设备上安装多个版本的应用程序。
B: Setup Push notifications using parse between the versions.
要设置 Parse 推送通知以跨这些版本工作:按照 Parse tutorial 为 每个 包标识符创建证书和配置文件。例如我的 3 个包标识符有 3 个 certificates/provisioning 个配置文件:
- com.MyApp.debug 是 DEBUG 的开发配置文件。
- com.MyApp.adhoc 是用于临时测试的临时生产配置文件。
- com.MyApp 是用于提交到 App Store 的 AppStore Production 配置文件。
确保在构建设置中设置正确的配置文件,以便正确签署应用程序。
将所有证书上传到Parse.com。 Parse 允许您拥有 6 个不同的 iOS 推送证书。
C: Using different production and staging servers.
在构建设置 选项卡上设置预处理宏。搜索 Preprocessor 并在 Apple LLVM 6.1 - Preprocessing 下搜索设置 Preprocessor Macros 为每个设置不同的宏构建配置。例如我说的是 Adhoc ADHOC=1
,Debug DEBUG=1
那么在你的源代码中某处有如下内容:
#if defined(DEBUG)
#define SERVER <development server>
#else
#if defined(ADHOC)
#define SERVER <staging server>
#else
#define SERVER <production server>
#endif
D: Sending builds to testers.
这个话题可能已经被讨论过多次了。我不喜欢 Apple 的 Beta 测试过程。还有许多其他解决方案。我喜欢的是 Beta by Crashlytics.
您可以在这里阅读:http://try.crashlytics.com/beta/
我将 AdHoc 构建配置部署到测试人员,因为它是使用 Adhoc 配置文件构建的,这允许我在 100 台设备上部署它而无需 Apple 批准。