Xcode 使用技巧

  • 显示编译时间
$ defaults write com.apple.dt.Xcode ShowBuildOperationDuration YES
  • 命令行打包
export LC_ALL=zh_CN.GB2312;   
export LANG=zh_CN.GB2312   
buildConfig="Release" //这里是build模式   
projectName=`find . -name *.xcodeproj | awk -F "[/.]" '{print $(NF-1)}'`   
projectDir=`pwd`   
wwwIPADir=~/Desktop/$projectName-IPA   
isWorkSpace=true   echo "~~~~~~~~~~~~~~~~~~~开始编译~~~~~~~~~~~~~~~~~~~"   
if [ -d "$wwwIPADir" ]; then   
echo $wwwIPADir   echo "文件目录存在"   
else   
echo "文件目录不存在"   mkdir -pv $wwwIPADir   
echo "创建${wwwIPADir}目录成功"   
fi   cd $projectDir   rm -rf ./build   
buildAppToDir=$projectDir/build   
infoPlist="$projectName/Info.plist"   
bundleVersion=`/usr/libexec/PlistBuddy -c "Print CFBundleShortVersionString" $infoPlist`   
bundleIdentifier=`/usr/libexec/PlistBuddy -c "Print CFBundleIdentifier" $infoPlist`   
bundleBuildVersion=`/usr/libexec/PlistBuddy -c "Print CFBundleVersion" $infoPlist`   

if $isWorkSpace ; 
then  #是否用CocoaPod   
echo  "开始编译workspace...."   
xcodebuild  -workspace $projectName.xcworkspace -scheme $projectName  -configuration $buildConfig clean build SYMROOT=$buildAppToDir   
else   
echo  "开始编译target...."   
xcodebuild  -target  $projectName  -configuration $buildConfig clean build SYMROOT=$buildAppToDir  
 fi   if test $? -eq 0   
 then   echo "~~~~~~~~~~~~~~~~~~~编译成功~~~~~~~~~~~~~~~~~~~"   
 else   echo "~~~~~~~~~~~~~~~~~~~编译失败~~~~~~~~~~~~~~~~~~~"   
 exit 1   fi   ipaName=`echo $projectName | tr "[:upper:]" "[:lower:]"` #将项目名转小写   
findFolderName=`find . -name "$buildConfig-*" -type d |xargs basename` #查找目录   
appDir=$buildAppToDir/$findFolderName/  #app所在路径  
 echo "开始打包$projectName.app成$projectName.ipa....."   xcrun -sdk iphoneos PackageApplication -v $appDir/$projectName.app -o $appDir/$ipaName.ipa   

if [ -f "$appDir/$ipaName.ipa" ]   
then   echo "打包$ipaName.ipa成功."   
 else   echo "打包$ipaName.ipa失败."   
 exit 1   fi   path=$wwwIPADir/$projectName$(date +%Y%m%d%H%M%S).ipa   
cp -f -p $appDir/$ipaName.ipa $path   
 #拷贝ipa文件   echo "复制$ipaName.ipa到${wwwIPADir}成功"   
 echo "~~~~~~~~~~~~~~~~~~~结束编译,处理成功~~~~~~~~~~~~~~~~~~~"

  

 

原文地址:https://www.cnblogs.com/guangleijia/p/6496951.html