iOs部署相同的应用程序两次

iOs部署相同的应用程序两次,ios,iphone,xcode,Ios,Iphone,Xcode,我正在开发一个iPhone应用程序,希望在一部手机上部署和维护同一应用程序的两个版本 我四处寻找,在这里找不到解决方案,也没有搜索网络 在我的apple开发者帐户中,我有一个应用程序id,比如com.xyz.*在xCode中,我更改了Build Settings/Product name中的bundle标识符。在developer.apple.com上,我找不到管理这些应用程序的方法。每次尝试使用修改后的名称运行应用程序时,我都会得到:Xcode无法使用所选设备运行 是否有最佳实践?我忽略了什么

我正在开发一个iPhone应用程序,希望在一部手机上部署和维护同一应用程序的两个版本

我四处寻找,在这里找不到解决方案,也没有搜索网络

在我的apple开发者帐户中,我有一个应用程序id,比如com.xyz.*在xCode中,我更改了Build Settings/Product name中的bundle标识符。在developer.apple.com上,我找不到管理这些应用程序的方法。每次尝试使用修改后的名称运行应用程序时,我都会得到:Xcode无法使用所选设备运行

是否有最佳实践?我忽略了什么

我正在使用: iOs 7.1
xCode 5.1

所以我认为您需要的是为同一个应用程序提供多个构建配置。如果是这样的话,这个博客会很好地涵盖它。谷歌大学在这方面有很多额外的信息。我试着总结一下

基本上,您需要为每个应用程序创建一个配置文件(或者通配符也可以,但这是另一个兔子洞)。例如com.your-domain.yourapp.staging和com.your-domain.yourapp.preview

然后,为所需的每个新配置创建一个新的schemed。在项目文件的“信息”选项卡下执行此操作

然后在项目目标中的“用户定义”下为每个变量定义一些变量。我声明一个名为ENV_BUNDLE_DISPLAY_NAME,另一个名为ENV_BUNDLE_IDENTIFIER。对于ENV_BUNDLE_标识符的值,我使用前面创建的配置文件的BUNDLE id

最后,编辑App-Info.plist以使用刚才声明的变量。因此,对于字段Bundle identifier,我将其设置为$(ENV_Bundle_identifier),对于Bundle display name,我将其设置为$(ENV_Bundle_display_name)


最后,当您构建、运行或归档时,您需要编辑方案以使用正确的构建配置。

因此,我认为您需要的是为同一应用程序提供多个构建配置。如果是这样的话,这个博客会很好地涵盖它。谷歌大学在这方面有很多额外的信息。我试着总结一下

基本上,您需要为每个应用程序创建一个配置文件(或者通配符也可以,但这是另一个兔子洞)。例如com.your-domain.yourapp.staging和com.your-domain.yourapp.preview

然后,为所需的每个新配置创建一个新的schemed。在项目文件的“信息”选项卡下执行此操作

然后在项目目标中的“用户定义”下为每个变量定义一些变量。我声明一个名为ENV_BUNDLE_DISPLAY_NAME,另一个名为ENV_BUNDLE_IDENTIFIER。对于ENV_BUNDLE_标识符的值,我使用前面创建的配置文件的BUNDLE id

最后,编辑App-Info.plist以使用刚才声明的变量。因此,对于字段Bundle identifier,我将其设置为$(ENV_Bundle_identifier),对于Bundle display name,我将其设置为$(ENV_Bundle_display_name)


最后,当您构建、运行或存档时,您需要编辑方案以使用正确的构建配置。

您是要在app store中发布两个版本,还是只在测试设备上发布两个版本?我们通常会做一些类似的测试,以便在发布到应用商店之前有一个可供测试的暂存和预览版本。我想将两个版本的应用部署到不同的设备上。将来它们也应该部署到应用商店,但我还不担心。您是在尝试向应用商店发布两个版本,还是只在测试设备上发布两个版本?我们通常会做一些类似的测试,以便在发布到应用商店之前有一个可供测试的暂存和预览版本。我想将两个版本的应用部署到不同的设备上。将来它们也应该部署到应用商店,但我还不担心这一点。