1

如何通过 xcodebuild 命令工具操作我的 iOS 目标属性?

例如,我有一个带有一个目标的项目,并且在 Info 选项卡的 Target Properties 中使用 Facebook SDK Key

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"

我需要在开发人员中使用一个 FacebookAppID,在生产中使用另一个 FacebookAppID,我如何更改我的命令行来实现这一点?

谢谢

4

1 回答 1

2

xcodebuild 的参数最适合用于每次调用时都会更改的值,例如包含内部版本号的目标目录。

对于像 Facebook 应用 ID 这样的基础数据,我建议使用您的构建配置,例如“调试”和“发布”。创建一个名为“FACEBOOK_ID”之类的用户定义的构建设置(在 Xcode 5.0.2 中,编辑器 -> 添加构建设置 -> 添加用户定义的设置),然后在 Info.plist 中,将所需键的值设置为 ${脸书_ID}。在目标的构建设置中,为调试和发布配置定义不同的 FACEBOOK_ID。然后,您的代码现在必须在运行时从 Info.plist 中提取当前值。

如果您真的想将构建设置作为 xcodebuild 的参数覆盖,您可以这样做,只需在命令末尾添加“FACEBOOK_ID=12341234”,但这只有在您完成了我刚刚描述的制作 FACEBOOK_ID 的工作时才有效进入特定于配置的构建设置。我想不出任何合理的理由将这种应用程序数据保留在构建配置之外。

如果构建配置对您来说是新的,我建议您从WWDC 2012会议 408“使用 Xcode 中的方案和项目”开始。

于 2014-02-24T06:00:12.863 回答