如何通过xcodebuild命令工具操作我的iOS目标属性?
在示例中,我有一个项目包含一个目标,并且在“信息”选项卡中的“目标属性”中使用了“Facebook SDK密钥”
FacebookAppID: 01234567891234
使用控制台命令xcodebuild我正在使用两个控制台命令编译两个带有开发人员和生产规定的应用程序:
对于开发者:
xcodebuild -project Projectname.xcodeproj clean install OBJROOT=ObjRoot ... CODE_SIGN_IDENTITY={iPhoneDeveloper} PROVISIONING_PROFILE="Dev.mobileprovision"
分发:
xcodebuild -project Projectname.xcodeproj clean install OBJROOT=ObjRoot ... CODE_SIGN_IDENTITY={iPhoneProduction} PROVISIONING_PROFILE="Prod.mobileprovision"
我需要在Developer one FacebookAppID中使用,在Production中使用另一个FacebookAppID,以及如何更改命令行以实现此目的?
由于
答案 0 :(得分:2)
xcodebuild的参数最适用于每次调用时都会更改的值,例如包含内部版本号的目标目录。
对于基本作为Facebook应用ID的数据,我建议您使用构建配置,例如“调试”和“发布”。创建一个用户定义的构建设置(在Xcode 5.0.2中,编辑器 - >添加构建设置 - >添加用户定义的设置),其名称类似于“FACEBOOK_ID”,并在Info.plist中,将所需的键值设置为$ {} FACEBOOK_ID。在目标的构建设置中,为调试和发布配置定义不同的FACEBOOK_ID。那么您的代码现在必须在运行时从Info.plist中提取当前值。
如果你真的想要将构建设置覆盖为xcodebuild的参数,你可以这样做,只需在命令的末尾添加“FACEBOOK_ID = 12341234”,但这只有在你完成我刚才描述的工作时才有效。将FACEBOOK_ID变为特定于配置的构建设置。我无法想到将这种应用数据保留在构建配置之外的任何合理理由。
如果您对构建配置不熟悉,我建议您从WWDC 2012会话408开始,“使用Xcode中的方案和项目”。