iOS--xcodebuild命令记录
描述
build Xcode projects and workspace
xcodebuild可以编译打包Xcode项目内的一个或多个targets,或Xcode工作区或项目内的一个scheme。
要编译打包Xcode项目,需要在项目目录下执行xcodebuild命令(如目录包含name.xcodeproj文件)。如果目录下有多个项目文件,则需要使用“-project”来指定需要编译打包的项目。xcodebuild编译打包命令默认使用基本编译配置来编译项目内列出的*个target。
编译打包Xcode workspace,必须设置“-workspace”和“-scheme”参数来定义编译信息
xcodebuild [-project name.xcodeproj] [[-target targetname] … | alltargets] [-configuration configurationname] [-sdk [sdkfullpath | sdkname]] [action …] [buildsetting=value …] [-userdefault=value …]
xcodebuild [-project name.xcodeproj] -scheme schemename [[-destination destinationspecifier] …] [-destination-timeout value] [-configuration configurationname] [-sdk [sdkfullpath | sdkname]] [action …] [buildsetting=value …] [-userdefault=value …]
xcodebuild [-workspace name.xcworkspace] -scheme schemename [[-destination destinationspecifier] …] [-destination-timeout value] [-configuration configurationname] [-sdk [sdkfullpath | sdkname]] [action …] [buildsetting=value …] [-userdefault=value …]
xcodebuild -version [-sdk [sdkfullpath | sdkname]] [infoitem]
xcodebuild -showsdks
xcodebuild -showBuildSettings [-project name.xcodeproj | [-workspace name.xcodespace -scheme schemename]]
xcodebuild -list [-project name.xcodeproj | -workspace name.xcodespace]
xcodebuild -exportArchive -archivePath xcarchivepath -exportPath destinationpath -exportOptionPlist path
xcodebuild -erportLocalizations -project name.xcodeproj -localizationPath path [[-exportLanguage language] …]
xcodebuild -importLocalizations -project name.xcodeproj -localizationPath path
Options
1. -project name.xcodeproj
编译项目name.xcodeproj。如果目录中有多个项目文件,则此参数必须。
2. -target targetname
编译项目中指定的target。
3. -alltarget
编译项目中所有target
4. -workspace name.xcodespace
编译项目name.xcodespace
5. -scheme schemename
编译项目指定scheme的项目。如果是编译workspace的话,此参数必须。
6. -destination destinationspecifier
使用destinationspecifier来指定特定的目标设备。默认选择的是和对应scheme兼容的目标设备。
7. -destination-timeout timeout
找寻指定目标设备信息的超时时间,默认为30s。
8. -configuration configurationname
编译每个target时指定的configuration
9. -arch architerture
编译每个target时指定的architecture(系统架构)
10. -sdk [sdkfullpath | sdkname]
编译项目(project)或工作区(workspace)是所使用的SDK版本。参数为SDK的*对路径或SDK的名称。
11. -showsdks
列出Xcode识别的可用的SDK信息,其中包含可用在“-sdk”命令中规范的SDK名称。此命令不会执行build命令。
12. -showBuildSettings
列出一个项目(project)或者(一个工作区(workspace)和scheme)中的编译设置信息。此命令不会执行build命令。后面可跟参数“-project”或(“-workspace”和“-scheme”)
13. -list
列出一个项目(project)或一个工作区(workspace)中scheme的target和configuration信息。此命令不会执行build命令。后面可跟参数“-project”或“-workspace”
14. -enableAddressSanitizer [YES | NO]
15. -enableCodeCoverage [YES | NO]
16. -derivedDataPath path
17. -resultBundlePath path
18. -exportArchive
19. -archivePath xcarchivepath
20. -exportPath destinationpath
21. -exportOptionsPlist path
22. -exportLocalizations
23. -importLocalizations
24. -localizationPath
25. -exportLanuage language
26. action …
Specify
build
analyze
archive
test
installsrc
install
clean
27. -xcodefig filename
28. -dry-run -n
29. -skipUnavailableActions
30. buildsetting=value
31. -userdefault=value
32. -tooolchain [identifier | name]
33. -verbose
详情模式
34. -version
35. -license
36. -usage
37. Destinations
OS X
iOS
iOS Simulator
watchOS
tvOS
tvOS Simulator
38. Exporting Archives
39. Environment Variavles
40. Exit Codes
Example
xcodebuild clean install
清除build文件夹的内容,接着编译及安装Xcode项目中*个target。
xcodebuild -project MyProject.xcodeproj -target Target1 -target Target2 -configuration Debug
编译项目MyProject.xcodeproj中的target1和target2,编译过程是Debug模式。
xcodebuild -target My