我正在开发一个iOS应用程序,该应用程序应该被标记为不同的客户。目前的问题是我需要两个版本的应用程序(一个用橙色主题,另一个用红色主题)同时安装。完成此操作的最佳方法是什么?安装两个版本的相同iOS应用程序
回答
您只需要使用两个不同的捆绑标识符。这可以在info.plist中设置:CFBundleIdentifier
。 您可能想要设置使用不同版本的info.plist的不同目标或方案。
我更喜欢在没有维护两个单独的plist文件的情况下通过在“存档”操作的自定义“Pre-actions”构建脚本中对plist文件进行后处理。
这有助于避免某些人在更改某些内容时忘记更新两个plist文件的问题。
我使用这种机制来构建可以上传到TestFlight的应用程序的测试版本,以便我的测试人员可以同时安装实时版本和当前测试版本。
(注:虽然这个剧本要“预动作”一节中,这是一个真正的后处理步骤,因为它发生的XCode已经做了所有的变量替换后进入plist文件)
设置(这些说明适用于XCode 5.0.1),重复您现有的方案并将其称为适当的。
选择“编辑方案”,并展开左侧选项卡中的“存档”项目。这应该给你“预先行动”,“存档”和“后行动”子项目。点击“预先操作”之一,然后在右侧的选项卡中,点击底部的“+”以添加新的“运行脚本操作”。
我在我的构建脚本中使用Ruby,所以我在顶部的“Shell”框中输入“/ usr/bin/ruby”,但显然你可以在bash或类似的地方做同样的事情。
在“Provide build settings from ...”下拉列表中选择您的项目。
然后你就可以在底部的框下面的代码的一些变种粘贴(或把它放在一个文件,并将该文件拖动到箱):
def changeBundle(file)
oldId = `/usr/libexec/Plistbuddy -c "print :CFBundleIdentifier" #{file}`.strip
system("/usr/libexec/PlistBuddy -c \"Set :CFBundleIdentifier #{oldId}_test\" #{file}")
oldName = `/usr/libexec/Plistbuddy -c "print :CFBundleDisplayName" #{file}`.strip
system("/usr/libexec/PlistBuddy -c \"Set :CFBundleDisplayName #{oldName}-Test\" #{file}")
end
changeBundle("#{ENV['CODESIGNING_FOLDER_PATH']}/Info.plist")
此更新CFBundleIdentifier(添加'_test')和CFBundleDisplayName(添加'-Test'),以便应用程序明显不同。自定义以进行所需的任何更改。
更改文件的代码位于函数中的原因是,如果需要,可以轻松地对多个plist文件进行相同的更改。
在这种情况下,您不需要这样做(因为您可能只是想更改进入输出存档文件的内容),但我的其他一些构建脚本会自动更新版本号,并且我希望这些更改能够被检入到git中。如果你需要做这样的事情,你可以修改源plist文件,也可以在底部添加这个文件:
changeBundle("#{ENV['PROJECT_DIR']}/#{ENV['INFOPLIST_FILE']}")
- 1. 安装两个不同版本的应用程序
- 2. 如何在iOS上安装同一应用程序的两个版本?
- 3. 无法安装具有相同版本的应用程序
- 4. 安装一个lightswitch应用程序的两个版本
- 5. 了解首次安装哪个版本的应用程序 - iOS
- 6. 如何安装应用程序的两个版本
- 7. 在两个仿真器上安装相同的应用程序
- 8. 在同一个iOS设备上安装开发应用程序的版本?
- 9. 相同应用程序的两个版本
- 10. 相同应用程序的两个版本
- 11. Wix安装相同版本
- 12. 不同版本的IOS应用程序
- 13. IOS - 从应用程序商店安装的旧应用程序版本
- 14. 如何测量iOS应用程序版本的安装次数
- 15. python:安装两个版本的相同模块
- 16. 通过WIX安装与多个安装程序相同的应用程序
- 17. 的iOS 7和iOS 6的不同版本相同的应用程序
- 18. iOS应用程序安装
- 19. ASP.NET:多个程序集版本,相同的Web应用程序
- 20. 在同一个设备上安装同一个应用的两个版本
- 21. 节点版本冲突|安装了两个不同的版本
- 22. 建设两个版本相同的Android应用程序和同一设备
- 23. iOS应用程序版本
- 24. 同一应用程序的两个不同版本
- 25. 安装和部署 - 在.Net中安装两个不同版本
- 26. 上传同一个iOS应用程序的多个版本
- 27. iPhone - 两个相同的应用程序
- 28. 应用程序安装两个图标
- 29. 如何在我的手机上安装两个版本的应用程序?
- 30. 我的应用程序安装两个应用程序 - Android
简单而有效,谢谢! – user1354603