用于使用最新 sdk 的 xcodebuild 参数。
Posted
技术标签:
【中文标题】用于使用最新 sdk 的 xcodebuild 参数。【英文标题】:parameter for xcodebuild for using latest sdk. 【发布时间】:2011-05-17 22:05:08 【问题描述】:我使用 ant exec 任务执行 xcodebuild 来构建一些 ios 项目 hudson。我希望能够以不允许指定 sdk 版本的方式创建脚本,因为在 hudson slave 或我的 iOS 项目上更新 sdk 后,我的所有项目都失败了......
在目标设置Base SDK - Latest iOS
987654321@sdk 4.2 以来,xcode 中有一个不错的选项
而且我不必在 xcodebuild 命令中提供-sdk
参数,但是(我认为)它是从 xcode 项目中获取的,这很糟糕,因为在提交期间有人可能会意外地将目标从模拟器更改为设备。
我需要一些不变的东西。我宁愿不使用 env 变量,因为我希望能够在开发机器上运行这个 ant 任务,并且不想在所有机器上重新设置它。
不幸的是xcodebuild -showsdks
只给了:
Mac OS X SDKs:
Mac OS X 10.4 -sdk macosx10.4
Mac OS X 10.5 -sdk macosx10.5
Mac OS X 10.6 -sdk macosx10.6
iOS SDKs:
iOS 4.2 -sdk iphoneos4.2
iOS Simulator SDKs:
Simulator - iOS 3.2 -sdk iphonesimulator3.2
Simulator - iOS 4.0 -sdk iphonesimulator4.0
Simulator - iOS 4.1 -sdk iphonesimulator4.1
Simulator - iOS 4.2 -sdk iphonesimulator4.2
我需要-sdk iphoneosLatest
之类的东西。我唯一的想法是用一些脚本削减xcodebuild -showsdks
的输出,但我不喜欢这个想法。
【问题讨论】:
只是好奇,你将 Ant 用于什么,以及 Hudson 和 iOS 项目?我刚刚完成了 iOS 版 Hudson 的设置,不需要任何其他工具,想知道我是否错过了什么。 【参考方案1】:你可以试试:xcodebuild -showsdks | grep -Eo "iphoneos([0-9]1,\.)+[0-9]1,"
【讨论】:
【参考方案2】:您可以将 xcodebuild 与最新的 SDK 一起使用:
xcodebuild -sdk iphoneos
,用于设备
xcodebuild -sdk iphonesimulator
,用于模拟器。
我们将这些选项用于我们的自动化构建,它从 XCode 3.2.5 开始就一直在工作
【讨论】:
【参考方案3】:我尝试了@jenningj 的解决方案,它对我有用。 Maciek Sawicki,如果这对您有用,您应该将其标记为正确的解决方案。
另外,xcodebuild -showsdk
应该是 xcodebuild -showsdks
。
【讨论】:
【参考方案4】:相信您可以使用xcodebuild -sdk iphoneos
(无版本号)来完成此操作。
【讨论】:
以上是关于用于使用最新 sdk 的 xcodebuild 参数。的主要内容,如果未能解决你的问题,请参考以下文章
xcodebuild 不会编译项目,除非它至少使用 Xcode 打开一次用于 cocoapods 集成项目
xcodebuild(Xcode 4)的CODE_SIGN_IDENTITY参数
Travis-CI 在我的项目中使用 xcodebuild 构建/链接问题