Bes*_*esi 12 iphone xcode ios info-plist
我希望有三个应用程序依赖,它们基于相同的代码:
MyAppDevelopment (从部署到设备的Xcode构建)
MyAppPreview (Beta测试)
MyApp (发布)
应该可以在设备上安装所有三个应用程序,并且他们有自己的图标,以便在视觉上很好地区分它们.
现在我知道我可以有三个不同的目标及其各自的Info.plist文件,但我宁愿使用Xcode的配置,这样我就不必维护三个不同的目标.这可能是使用配置,问题是App标识符存储在Info.plist文件中,可以按目标定义...
Bes*_*esi 26
为不同版本的应用程序使用不同的目标可以提供更大的灵活性,并且一旦为每个目标指定不同的plist文件,就可以轻松更改包标识符和图标等.但是,配置与Xcode集成得更深,您可以build setting根据配置进行调整.
经过一些更多的研究后,我想出了如何只用一个目标来获得两全其美:
ProjectName > ProjectName > Info.例如:
这三个应用程序应该在设备上共存.我希望能够在一个设备上拥有该应用程序的所有三个版本,因为这三种类型都需要不同的包标识符.最初的标识符可以是com.company.${PRODUCT_NAME:rfc1034identifier}.
MyProject > MyApp (Target) > Build settings,请转到并单击按钮(+) Add Build Setting添加新密钥${APP_ID}并设置这样的值,并注意release配置不应该有后缀:
APP_ID > 'com.company.MyApp-debug'
> 'com.company.MyApp-preview'
> 'com.company.MyApp'
Run Code Online (Sandbox Code Playgroud)Info.plist改变Bundle Identifier值${APP_ID}您可以使用Bundle Display Name或Icon属性执行相同操作,以便您可以一目了然地轻松区分应用程序.
Preprocessor macros配置,以便能够检测代码中的当前配置.默认情况下,这对debug配置完成:DEBUG=1.plist文件执行此操作.使用目标可以从某种类型的App中排除某些框架.例如,您可以从debug应用版本中排除某些分析库.
更新:您不能使用com.company.${PRODUCT_NAME:rfc1034identifier}用户定义的构建设置等替换.因此,在这种情况下,您必须写出捆绑整个捆绑标识符.
更新:应该使"配置感知"的一些设置移动到"构建设置"的"用户定义"部分,这可能会让某些开发人员感到不寻常.
结果http://i.minus.com/jbwPgEiBra39dL.png
| 归档时间: |
|
| 查看次数: |
4559 次 |
| 最近记录: |