在从命令行构建Xcode项目时,有很多关于控制放置'build'目录的问题/答案,但是有没有办法获得Xcode使用的路径?
我知道它将文件放在~/Library/Developer/Xcode/DerivedData/APPNAME-xxx/Build/
中,其中xxx是一些随机的字符串。我希望能够从命令行获取此目录,以便我可以存档我的.app
和.dSYM
文件,并使用.app
重新签名和打包我的xcrun PackageApplication
,我目前用它来创建一个无线安装版本直接形成构建服务器(哈德森)。
从命令行
xcodebuild -project yourproj.xcodeproj -showBuildSettings | grep TARGET_BUILD_DIR
删除grep管道,查看所有构建设置的列表,并选择一个最适合您要查找的内容
对于工作区
xcodebuild -scheme scheme-name -workspace proj.xcworkspace ONLY_ACTIVE_ARCH=NO -sdk iphonesimulator -configuration Debug -showBuildSettings | grep -m 1 "BUILT_PRODUCTS_DIR" | grep -oEi "\/.*"
对于Proj文件
xcodebuild -project yourproj.xcodeproj ONLY_ACTIVE_ARCH=NO -sdk iphonesimulator -configuration Debug -showBuildSettings | grep -m 1 "BUILT_PRODUCTS_DIR" | grep -oEi "\/.*"
项目模式:
xcodebuild -project "path_to_fileName.xcodeproj" -target "targetName" -sdk "targetSDK" -configuration buildConfig CODE_SIGN_IDENTITY="NameOfCertificateIdentity" PROVISIONING_PROFILE="ProvisioningProfileName" OTHER_CODE_SIGN_FLAGS="--keychain keyChainName"
工作区模式:
xcodebuild -workspace "path_to_fileName.xcworkspace" -scheme "schemeName" -sdk "targetSDK" -configuration buildConfig CODE_SIGN_IDENTITY="NameOfCertificateIdentity" PROVISIONING_PROFILE="ProvisioningProfileName" OTHER_CODE_SIGN_FLAGS="--keychain keyChainName"
例如:
xcodebuild -workspace "/Users/name.xcworkspace" -scheme "MyShemeName" -sdk iphonesimulator CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO