|
| 1 | +CURRENT_PATH=$PWD |
| 2 | + |
| 3 | +# 获取项目目录 |
| 4 | +PROJECT_PATH="$( cd "$1" && pwd )" |
| 5 | + |
| 6 | +cd ${PROJECT_PATH} && pod install |
| 7 | +if [ $? -eq 0 ]; then |
| 8 | + echo " pod install success" |
| 9 | +else |
| 10 | + echo " pod install failed" |
| 11 | + exit 1 |
| 12 | +fi |
| 13 | + |
| 14 | +# 项目target名 |
| 15 | +TARGET_NAME=${PROJECT_PATH##*/} |
| 16 | + |
| 17 | +KEYCENTER_PATH=${PROJECT_PATH}"/"${TARGET_NAME}"/Common/KeyCenter.swift" |
| 18 | + |
| 19 | +# 打包环境 |
| 20 | +CONFIGURATION=developer-id |
| 21 | + |
| 22 | +#工程文件路径 |
| 23 | +APP_PATH="${PROJECT_PATH}/${TARGET_NAME}.xcworkspace" |
| 24 | + |
| 25 | +#工程配置路径 |
| 26 | +PBXPROJ_PATH="${PROJECT_PATH}/${TARGET_NAME}.xcodeproj/project.pbxproj" |
| 27 | +echo PBXPROJ_PATH: $PBXPROJ_PATH |
| 28 | + |
| 29 | +# 主项目工程配置 |
| 30 | +# Debug |
| 31 | +/usr/libexec/PlistBuddy -c "Set :objects:03896D5324F8A011008593CD:buildSettings:CODE_SIGN_STYLE 'Manual'" $PBXPROJ_PATH |
| 32 | +/usr/libexec/PlistBuddy -c "Set :objects:03896D5324F8A011008593CD:buildSettings:CODE_SIGN_IDENTITY 'Developer ID Application'" $PBXPROJ_PATH |
| 33 | +/usr/libexec/PlistBuddy -c "Set :objects:03896D5324F8A011008593CD:buildSettings:DEVELOPMENT_TEAM 'YS397FG5PA'" $PBXPROJ_PATH |
| 34 | +/usr/libexec/PlistBuddy -c "Set :objects:03896D5324F8A011008593CD:buildSettings:PROVISIONING_PROFILE_SPECIFIER 'apiexamplemac'" $PBXPROJ_PATH |
| 35 | +# Release |
| 36 | +/usr/libexec/PlistBuddy -c "Set :objects:03896D5424F8A011008593CD:buildSettings:CODE_SIGN_STYLE 'Manual'" $PBXPROJ_PATH |
| 37 | +/usr/libexec/PlistBuddy -c "Set :objects:03896D5424F8A011008593CD:buildSettings:CODE_SIGN_IDENTITY 'Developer ID Application'" $PBXPROJ_PATH |
| 38 | +/usr/libexec/PlistBuddy -c "Set :objects:03896D5424F8A011008593CD:buildSettings:DEVELOPMENT_TEAM 'YS397FG5PA'" $PBXPROJ_PATH |
| 39 | +/usr/libexec/PlistBuddy -c "Set :objects:03896D5424F8A011008593CD:buildSettings:PROVISIONING_PROFILE_SPECIFIER 'apiexamplemac'" $PBXPROJ_PATH |
| 40 | + |
| 41 | +# SimpleFilter |
| 42 | +# Debug |
| 43 | +# /usr/libexec/PlistBuddy -c "Set :objects:8BD4AE7E272518D600E95B87:buildSettings:CODE_SIGN_STYLE 'Manual'" $PBXPROJ_PATH |
| 44 | +# /usr/libexec/PlistBuddy -c "Set :objects:8BD4AE7E272518D600E95B87:buildSettings:DEVELOPMENT_TEAM ''" $PBXPROJ_PATH |
| 45 | +# /usr/libexec/PlistBuddy -c "Set :objects:8BD4AE7E272518D600E95B87:buildSettings:PROVISIONING_PROFILE_SPECIFIER ''" $PBXPROJ_PATH |
| 46 | +# # Release |
| 47 | +# /usr/libexec/PlistBuddy -c "Set :objects:8BD4AE7F272518D600E95B87:buildSettings:CODE_SIGN_STYLE 'Manual'" $PBXPROJ_PATH |
| 48 | +# /usr/libexec/PlistBuddy -c "Set :objects:8BD4AE7F272518D600E95B87:buildSettings:DEVELOPMENT_TEAM ''" $PBXPROJ_PATH |
| 49 | +# /usr/libexec/PlistBuddy -c "Set :objects:8BD4AE7F272518D600E95B87:buildSettings:PROVISIONING_PROFILE_SPECIFIER ''" $PBXPROJ_PATH |
| 50 | + |
| 51 | +# 读取APPID环境变量 |
| 52 | +echo AGORA_APP_ID:$APP_ID |
| 53 | +echo $AGORA_APP_ID |
| 54 | + |
| 55 | +echo PROJECT_PATH: $PROJECT_PATH |
| 56 | +echo TARGET_NAME: $TARGET_NAME |
| 57 | +echo KEYCENTER_PATH: $KEYCENTER_PATH |
| 58 | +echo APP_PATH: $APP_PATH |
| 59 | + |
| 60 | +#修改Keycenter文件 |
| 61 | + |
| 62 | +python3 /tmp/jenkins/api-examples/.github/ci/build/modify_ios_keycenter.py $KEYCENTER_PATH 0 |
| 63 | +if [ $? -eq 0 ]; then |
| 64 | + echo "修改Keycenter文件 success" |
| 65 | +else |
| 66 | + echo "修改Keycenter文件 failed" |
| 67 | + exit 1 |
| 68 | +fi |
| 69 | +# Xcode clean |
| 70 | +xcodebuild clean -workspace "${APP_PATH}" -configuration "${CONFIGURATION}" -scheme "${TARGET_NAME}" |
| 71 | + |
| 72 | +# 时间戳 |
| 73 | +CURRENT_TIME=$(date "+%Y-%m-%d %H-%M-%S") |
| 74 | + |
| 75 | +# 归档路径 |
| 76 | +ARCHIVE_PATH="${PROJECT_PATH}/${TARGET_NAME} ${CURRENT_TIME}/${TARGET_NAME}.xcarchive" |
| 77 | +# 编译环境 |
| 78 | + |
| 79 | +# 导出路径 |
| 80 | +EXPORT_PATH="${PROJECT_PATH}/${TARGET_NAME} ${CURRENT_TIME}" |
| 81 | + |
| 82 | +# plist路径 |
| 83 | +PLIST_PATH="${PROJECT_PATH}/ExportOptions.plist" |
| 84 | + |
| 85 | +echo PLIST_PATH: $PLIST_PATH |
| 86 | + |
| 87 | +# archive 这边使用的工作区间 也可以使用project |
| 88 | +xcodebuild archive -workspace "${APP_PATH}" -scheme "${TARGET_NAME}" -configuration "${CONFIGURATION}" -archivePath "${ARCHIVE_PATH}" -destination 'generic/platform=macOS' |
| 89 | + |
| 90 | +# 导出ipa |
| 91 | +xcodebuild -exportArchive -archivePath "${ARCHIVE_PATH}" -exportPath "${EXPORT_PATH}" -exportOptionsPlist "${PLIST_PATH}" |
| 92 | + |
| 93 | +rm -rf "${EXPORT_PATH}/${TARGET_NAME}.xcarchive" |
| 94 | +rm -rf "${EXPORT_PATH}/Packaging.log" |
| 95 | +rm -rf "${EXPORT_PATH}/ExportOptions.plist" |
| 96 | +rm -rf "${EXPORT_PATH}/DistributionSummary.plist" |
| 97 | + |
| 98 | +#复原Keycenter文件 |
| 99 | +python3 /tmp/jenkins/api-examples/.github/ci/build/modify_ios_keycenter.py $KEYCENTER_PATH 1 |
| 100 | +if [ $? -eq 0 ]; then |
| 101 | + echo "复原Keycenter文件 success" |
| 102 | +else |
| 103 | + echo "复原Keycenter文件 failed" |
| 104 | + exit 1 |
| 105 | +fi |
| 106 | + |
| 107 | + |
| 108 | + |
| 109 | + |
0 commit comments