본문 바로가기

프로그래밍/iOS,macOS

xcodebuild

 

xcode 에서 프로젝트별 xcodebuild 기본 빌드 설정

프로젝트 > Info > Configurations
Use Debug/Release for command-line builds

 

기본 적인 사용

-workspace {xcworkspace}
-project {xcodeproj}
-configuration {Release|Debug}
-scheme {scheme name}
-target {target name}
-sdk {sdk}
-arch {i386|x86_64|armv7|arm64}
-destination '{specific device}'

* 스키마에는 타겟 정보가 포함되므로, 스키마 사용시에는 타겟은 제외

workspace, project, scheme 등 정의된 내용으로 빌드

(workspace, project 없이 scheme만 입력해도 프로젝트에서 해당 스키마만 빌드됨)

$ xcodebuild
   -workspace MyProject.xcworkspace
   -project MyProject.xcodeproj
   -scheme TargetScheme
   build
   clean

 

특정 sdk나 플랫폼을 대상으로 빌드

generic

$ xcodebuild
    -project MyProject.xcodeproj
    -target MyApplicationTarget
    -sdk iphoneos
    -destination 'platform=iOS,name=Generic iOS Device'
    -configuration Release
    build

 

시뮬레이터

$ xcodebuild
   -project MyProject.xcodeproj
   -target MyApplicationTarget
   -sdk iphonesimulator
   -destination 'platform=iOS Simulator,name=iPhone X'
   -configuration Debug
   build

 


정보확인

프로젝트의 타겟, 스키마 확인

$ xcodebuild -list -project MyProject.xcodeproj

 

sdk 목록 : showsdks

$ xcodebuild -showsdks

iOS SDKs:
	iOS 13.2                      	-sdk iphoneos13.2

iOS Simulator SDKs:
	Simulator - iOS 13.2          	-sdk iphonesimulator13.2

macOS SDKs:
	DriverKit 19.0                	-sdk driverkit.macosx19.0
	macOS 10.15                   	-sdk macosx10.15

tvOS SDKs:
	tvOS 13.2                     	-sdk appletvos13.2

tvOS Simulator SDKs:
	Simulator - tvOS 13.2         	-sdk appletvsimulator13.2

watchOS SDKs:
	watchOS 6.1                   	-sdk watchos6.1

watchOS Simulator SDKs:
	Simulator - watchOS 6.1       	-sdk watchsimulator6.1

 

Xcode 버전확인

$ xcodebuild -version

 

스키마 destination : showdestinations

$ xcodebuild -project MyProject.xcodeproj -scheme MyScheme -showdestinations

 

 


 

빌드 설정

빌드설정 확인 : showBuildSettings

빌드설정값은 플래그로 다른 값 지정이 가능

$ xcodebuild -showBuildSettings

 

사이닝 설정값

   CODE_SIGN_IDENTITY=""

   CODE_SIGN_ENTITLEMENTS=""

   CODE_SIGNING_REQUIRED=NO

   CODE_SIGNING_ALLOWED=NO

 

 

 


destination

모든 destination 보기

$ instruments -s devices

 

플랫폼

generic/platform=iOS

 

platform=iOS,name=iPhone

platform=iOS Simulator,name=iPhone X,OS=10.2

patform=iOS,id=UUID

 

 

 

 

 

 

 

 


 

 

패스설정

path 설정이 없으면 xcode build 설정 path/프로젝트명/Build/Products/Release-iphoneos/

CONFIGURATION_BUILD_DIR=빌드경로(절대경로)
  Products 의 경로

-derivedDataPath {path} 
  해당 위치/Build/Products/Release-iphoneos/

-archivePath {path}

-exportArchive : 아카이브 파일을 출력하도록 설정

-exportPath {path} : 아카이브 파일이 출력될 제품 위치