├── 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 |
--------------------------------------------------------------------------------