├── ADHOCExportOptionsPlist.plist ├── AppStoreExportOptionsPlist.plist ├── EnterpriseExportOptionsPlist.plist ├── README.md └── xcodebuild.sh /ADHOCExportOptionsPlist.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | provisioningProfiles 6 | 7 | 你的bundle ID 8 | 描述文件UUID,和脚本中的一样 9 | 10 | method 11 | ad-hoc 12 | 13 | 14 | -------------------------------------------------------------------------------- /AppStoreExportOptionsPlist.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | provisioningProfiles 6 | 7 | 你的bundle ID 8 | 描述文件UUID,和脚本中的一样 9 | 10 | method 11 | app-store 12 | 13 | 14 | -------------------------------------------------------------------------------- /EnterpriseExportOptionsPlist.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | provisioningProfiles 6 | 7 | 你的bundle ID 8 | 描述文件UUID,和脚本中的一样 9 | 10 | method 11 | enterprise 12 | 13 | 14 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # WorksapceShell 2 | 项目基于Workspace的打包签名脚本 3 | 具体使用见简书:http://www.jianshu.com/p/722adedaa3bf 4 | -------------------------------------------------------------------------------- /xcodebuild.sh: -------------------------------------------------------------------------------- 1 | #author by 得力 2 | 3 | #注意:脚本目录和WorkSpace目录在同一个目录 4 | #工程名字(Target名字) 5 | Project_Name="Target名字,系统默认等于工程名字" 6 | #workspace的名字 7 | Workspace_Name="WorkSpace名字" 8 | #配置环境,Release或者Debug,默认release 9 | Configuration="Release" 10 | 11 | #AdHoc版本的Bundle ID 12 | AdHocBundleID="com.xxxx" 13 | #AppStore版本的Bundle ID 14 | AppStoreBundleID="com.xxxx" 15 | #enterprise的Bundle ID 16 | EnterpriseBundleID="com.xxxx" 17 | 18 | # ADHOC证书名#描述文件 19 | ADHOCCODE_SIGN_IDENTITY="iPhone Distribution: xxxx" 20 | ADHOCPROVISIONING_PROFILE_NAME="xxxxx-xxxx-xxxx-xxxx-xxxxxx" 21 | 22 | #AppStore证书名#描述文件 23 | APPSTORECODE_SIGN_IDENTITY="iPhone Distribution: xxxxx" 24 | APPSTOREROVISIONING_PROFILE_NAME="xxxxx-xxxx-xxxx-xxxx-xxxxxx" 25 | 26 | #企业(enterprise)证书名#描述文件 27 | ENTERPRISECODE_SIGN_IDENTITY="iPhone Distribution: xxxx" 28 | ENTERPRISEROVISIONING_PROFILE_NAME="xxxxx-xxxx-xxx-xxxx" 29 | 30 | #加载各个版本的plist文件 31 | ADHOCExportOptionsPlist=./ADHOCExportOptionsPlist.plist 32 | AppStoreExportOptionsPlist=./AppStoreExportOptionsPlist.plist 33 | EnterpriseExportOptionsPlist=./EnterpriseExportOptionsPlist.plist 34 | 35 | ADHOCExportOptionsPlist=${ADHOCExportOptionsPlist} 36 | AppStoreExportOptionsPlist=${AppStoreExportOptionsPlist} 37 | EnterpriseExportOptionsPlist=${EnterpriseExportOptionsPlist} 38 | 39 | echo "~~~~~~~~~~~~选择打包方式(输入序号)~~~~~~~~~~~~~~~" 40 | echo " 1 adHoc" 41 | echo " 2 AppStore" 42 | echo " 3 Enterprise" 43 | 44 | # 读取用户输入并存到变量里 45 | read parameter 46 | sleep 0.5 47 | method="$parameter" 48 | 49 | # 判读用户是否有输入 50 | if [ -n "$method" ] 51 | then 52 | if [ "$method" = "1" ] 53 | then 54 | #adhoc脚本 55 | xcodebuild -workspace $Workspace_Name.xcworkspace -scheme $Project_Name -configuration $Configuration -archivePath build/$Project_Name-adhoc.xcarchive clean archive build CODE_SIGN_IDENTITY="${ADHOCCODE_SIGN_IDENTITY}" PROVISIONING_PROFILE="${ADHOCPROVISIONING_PROFILE_NAME}" PRODUCT_BUNDLE_IDENTIFIER="${AdHocBundleID}" 56 | xcodebuild -exportArchive -archivePath build/$Project_Name-adhoc.xcarchive -exportOptionsPlist ${ADHOCExportOptionsPlist} -exportPath ~/Desktop/$Project_Name-adhoc.ipa 57 | 58 | elif [ "$method" = "2" ] 59 | then 60 | #appstore脚本 61 | xcodebuild -workspace $Workspace_Name.xcworkspace -scheme $Project_Name -configuration $Configuration -archivePath build/$Project_Name-appstore.xcarchive archive build CODE_SIGN_IDENTITY="${APPSTORECODE_SIGN_IDENTITY}" PROVISIONING_PROFILE="${APPSTOREROVISIONING_PROFILE_NAME}" PRODUCT_BUNDLE_IDENTIFIER="${AppStoreBundleID}" 62 | xcodebuild -exportArchive -archivePath build/$Project_Name-appstore.xcarchive -exportOptionsPlist ${AppStoreExportOptionsPlist} -exportPath ~/Desktop/$Project_Name-appstore.ipa 63 | 64 | elif [ "$method" = "3" ] 65 | then 66 | #企业打包脚本 67 | xcodebuild -workspace $Workspace_Name.xcworkspace -scheme $Project_Name -configuration $Configuration -archivePath build/$Project_Name-enterprise.xcarchive archive build CODE_SIGN_IDENTITY="${ENTERPRISECODE_SIGN_IDENTITY}" PROVISIONING_PROFILE="${ENTERPRISEROVISIONING_PROFILE_NAME}" PRODUCT_BUNDLE_IDENTIFIER="${EnterpriseBundleID}" 68 | xcodebuild -exportArchive -archivePath build/$Project_Name-enterprise.xcarchive -exportOptionsPlist ${EnterpriseExportOptionsPlist} -exportPath ~/Desktop/$Project_Name-enterprise.ipa 69 | else 70 | echo "参数无效...." 71 | exit 1 72 | fi 73 | fi 74 | --------------------------------------------------------------------------------