├── README.md └── packapp.sh /README.md: -------------------------------------------------------------------------------- 1 | # iOSTips 2 | 整理一些iOS开发常用的工具和脚本 3 | 4 | ##packapp.sh 5 | 使用xcodebuild打包ipa的shell脚本 6 | >使用方式 7 | 下载到本地目录下,命令行下执行chmod +x packapp.sh,设置为可运行。 8 | 将脚本里面的app路径修改为你项目的实际路径,配置好签名和证书就可以用了 9 | 10 | ``` 11 | chmod +x packapp.sh 12 | ./packapp.sh 13 | -------------------------------------------------------------------------------- /packapp.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | #author:ldehai@gmail.com 4 | #github:https://github.com/ldehai/iOSTips/packapp.sh 5 | 6 | #脚本说明 7 | #使用xcodebuild在命令行下编译打包app,最后输出ipa文件 8 | 9 | #使用说明 10 | #命令行下执行chmod +x packapp.sh,设置为可运行。将脚本里面的app路径修改为你项目的实际路径,配置好签名和证书就可以用了。 11 | #运行方式:./packapp.sh 12 | 13 | #1 设置各项根目录(修改为项目实际路径) 14 | PROJ_PATH="/Users/andy/myapp" 15 | INFO_PATH="/Users/andy/myapp/myapp/Info.plist" 16 | BUILD_PATH="/Users/andy/release/build" 17 | APP_PATH="/Users/andy/release" 18 | 19 | #2 进入项目目录 20 | cd $PROJ_PATH 21 | 22 | #3 设置Info.plist版本 23 | appversion=1.0 24 | /usr/libexec/PlistBuddy -c "Set :CFBundleShortVersionString '${appversion}'" $INFO_PATH 25 | /usr/libexec/PlistBuddy -c "Set :CFBundleVersion '${appversion}'" $INFO_PATH 26 | 27 | #4 编译app(指定项目实际的"CODE_SIGN_IDENTITY"和"PROVISIONING_PROFILE") 28 | # 注意"PROVISIONING_PROFILE"要使用证书的uuid,不能直接用名字 29 | echo "building..." 30 | xcodebuild \ 31 | -workspace myapp.xcworkspace \ #指定workspace 32 | -scheme myapp \ #指定schema 33 | VALID_ARCHS="arm64 armv7 armv7s" \ #指定archs 34 | DEBUG_INFORMATION_FORMAT="dwarf-with-dsym" \ #指定携带调试符号信息文件(与app同名的.dsym文件),崩溃时可以打印堆栈信息 35 | -configuration Debug clean build CONFIGURATION_BUILD_DIR=$BUILD_PATH \ #自定义编译输出路径 36 | CODE_SIGN_IDENTITY="iPhone Distribution: XXXXXXXX" \ #签名 37 | PROVISIONING_PROFILE="a06c1a65-f449-4a95-8682-d05eab5b5c36" #设置provisioning,要使用证书的uuid,不能直接用名字 38 | 39 | #5 打包ipa 40 | appfile=$BUILD_PATH/myapp.app 41 | ipafile=$APP_PATH/myapp.ipa 42 | 43 | #删除上次输出的ipa文件 44 | rm -r $APP_PATH/myapp.ipa 45 | 46 | #将编译生成的app打包成ipa文件,其实就是一个zip文件 47 | /usr/bin/xcrun -sdk iphoneos PackageApplication -v $appfile -o $ipafile 48 | --------------------------------------------------------------------------------