@@ -15,7 +15,7 @@ cd ${PROJECT_PATH}
1515
1616pod install || exit 1
1717
18- # Build environment
18+ # Build configuration
1919CONFIGURATION=" Debug"
2020
2121# Project file path
@@ -30,29 +30,33 @@ KEYCENTER_PATH=$TARGET_NAME/Common/KeyCenter.swift
3030PBXPROJ_PATH=${TARGET_NAME} .xcodeproj/project.pbxproj
3131
3232# Debug
33- /usr/libexec/PlistBuddy -c " Set :objects:E73F240B2BA82C450000B523:buildSettings:CODE_SIGN_STYLE 'Manual'" $PBXPROJ_PATH
34- /usr/libexec/PlistBuddy -c " Set :objects:E73F240B2BA82C450000B523:buildSettings:DEVELOPMENT_TEAM 'GM72UGLGZW'" $PBXPROJ_PATH
35- /usr/libexec/PlistBuddy -c " Set :objects:E73F240B2BA82C450000B523:buildSettings:PROVISIONING_PROFILE_SPECIFIER 'App'" $PBXPROJ_PATH
33+ /usr/libexec/PlistBuddy -c " Set :objects:4C9306982CB9607F0085EFF9:buildSettings:CODE_SIGN_STYLE 'Manual'" $PBXPROJ_PATH
34+ /usr/libexec/PlistBuddy -c " Set :objects:4C9306982CB9607F0085EFF9:buildSettings:CODE_SIGN_IDENTITY 'iPhone Distribution'" $PBXPROJ_PATH
35+ /usr/libexec/PlistBuddy -c " Set :objects:4C9306982CB9607F0085EFF9:buildSettings:DEVELOPMENT_TEAM 'YS397FG5PA'" $PBXPROJ_PATH
36+ /usr/libexec/PlistBuddy -c " Set :objects:4C9306982CB9607F0085EFF9:buildSettings:PROVISIONING_PROFILE_SPECIFIER 'apiexample_wildcard_adhoc'" $PBXPROJ_PATH
3637# Release
37- /usr/libexec/PlistBuddy -c " Set :objects:E73F240B2BA82C450000B523:buildSettings:CODE_SIGN_STYLE 'Manual'" $PBXPROJ_PATH
38- /usr/libexec/PlistBuddy -c " Set :objects:E73F240B2BA82C450000B523:buildSettings:DEVELOPMENT_TEAM 'GM72UGLGZW'" $PBXPROJ_PATH
39- /usr/libexec/PlistBuddy -c " Set :objects:E73F240B2BA82C450000B523:buildSettings:PROVISIONING_PROFILE_SPECIFIER 'App'" $PBXPROJ_PATH
38+ /usr/libexec/PlistBuddy -c " Set :objects:4C9306992CB9607F0085EFF9:buildSettings:CODE_SIGN_STYLE 'Manual'" $PBXPROJ_PATH
39+ /usr/libexec/PlistBuddy -c " Set :objects:4C9306992CB9607F0085EFF9:buildSettings:CODE_SIGN_IDENTITY 'iPhone Distribution'" $PBXPROJ_PATH
40+ /usr/libexec/PlistBuddy -c " Set :objects:4C9306992CB9607F0085EFF9:buildSettings:DEVELOPMENT_TEAM 'YS397FG5PA'" $PBXPROJ_PATH
41+ /usr/libexec/PlistBuddy -c " Set :objects:4C9306992CB9607F0085EFF9:buildSettings:PROVISIONING_PROFILE_SPECIFIER 'apiexample_wildcard_adhoc'" $PBXPROJ_PATH
4042
4143# Screen Share Extension
4244# Debug
43- /usr/libexec/PlistBuddy -c " Set :objects:E73F25152BB6AE380000B523:buildSettings:CODE_SIGN_STYLE 'Manual'" $PBXPROJ_PATH
44- /usr/libexec/PlistBuddy -c " Set :objects:E73F25152BB6AE380000B523:buildSettings:DEVELOPMENT_TEAM 'GM72UGLGZW'" $PBXPROJ_PATH
45- /usr/libexec/PlistBuddy -c " Set :objects:E73F25152BB6AE380000B523:buildSettings:PROVISIONING_PROFILE_SPECIFIER 'App'" $PBXPROJ_PATH
45+ /usr/libexec/PlistBuddy -c " Set :objects:4C9307F02CB9633A0085EFF9:buildSettings:CODE_SIGN_STYLE 'Manual'" $PBXPROJ_PATH
46+ /usr/libexec/PlistBuddy -c " Set :objects:4C9307F02CB9633A0085EFF9:buildSettings:CODE_SIGN_IDENTITY 'iPhone Distribution'" $PBXPROJ_PATH
47+ /usr/libexec/PlistBuddy -c " Set :objects:4C9307F02CB9633A0085EFF9:buildSettings:DEVELOPMENT_TEAM 'YS397FG5PA'" $PBXPROJ_PATH
48+ /usr/libexec/PlistBuddy -c " Set :objects:4C9307F02CB9633A0085EFF9:buildSettings:PROVISIONING_PROFILE_SPECIFIER 'apiexample_wildcard_adhoc'" $PBXPROJ_PATH
4649# Release
47- /usr/libexec/PlistBuddy -c " Set :objects:E73F25152BB6AE380000B523:buildSettings:CODE_SIGN_STYLE 'Manual'" $PBXPROJ_PATH
48- /usr/libexec/PlistBuddy -c " Set :objects:E73F25152BB6AE380000B523:buildSettings:DEVELOPMENT_TEAM 'GM72UGLGZW'" $PBXPROJ_PATH
49- /usr/libexec/PlistBuddy -c " Set :objects:E73F25152BB6AE380000B523:buildSettings:PROVISIONING_PROFILE_SPECIFIER 'App'" $PBXPROJ_PATH
50+ /usr/libexec/PlistBuddy -c " Set :objects:4C9307F12CB9633A0085EFF9:buildSettings:CODE_SIGN_STYLE 'Manual'" $PBXPROJ_PATH
51+ /usr/libexec/PlistBuddy -c " Set :objects:4C9307F12CB9633A0085EFF9:buildSettings:CODE_SIGN_IDENTITY 'iPhone Distribution'" $PBXPROJ_PATH
52+ /usr/libexec/PlistBuddy -c " Set :objects:4C9307F12CB9633A0085EFF9:buildSettings:DEVELOPMENT_TEAM 'YS397FG5PA'" $PBXPROJ_PATH
53+ /usr/libexec/PlistBuddy -c " Set :objects:4C9307F12CB9633A0085EFF9:buildSettings:PROVISIONING_PROFILE_SPECIFIER 'apiexample_wildcard_adhoc'" $PBXPROJ_PATH
5054
5155# Modify build number
5256# Debug
53- /usr/libexec/PlistBuddy -c " Set :objects:E73F240B2BA82C450000B523 :buildSettings:CURRENT_PROJECT_VERSION ${BUILD_NUMBER} " $PBXPROJ_PATH
57+ /usr/libexec/PlistBuddy -c " Set :objects:4C9306982CB9607F0085EFF9 :buildSettings:CURRENT_PROJECT_VERSION ${BUILD_NUMBER} " $PBXPROJ_PATH
5458# Release
55- /usr/libexec/PlistBuddy -c " Set :objects:E73F240B2BA82C450000B523 :buildSettings:CURRENT_PROJECT_VERSION ${BUILD_NUMBER} " $PBXPROJ_PATH
59+ /usr/libexec/PlistBuddy -c " Set :objects:4C9306992CB9607F0085EFF9 :buildSettings:CURRENT_PROJECT_VERSION ${BUILD_NUMBER} " $PBXPROJ_PATH
5660
5761# Read APPID environment variable
5862echo AGORA_APP_ID: $APP_ID
@@ -62,41 +66,73 @@ echo TARGET_NAME: $TARGET_NAME
6266echo KEYCENTER_PATH: $KEYCENTER_PATH
6367echo APP_PATH: $APP_PATH
6468
65- # Modify Keycenter file
66- sed -i -e " s#<\#YOUR AppId \#>#\" $APP_ID \" #g" $KEYCENTER_PATH
69+ # Modify KeyCenter file
70+ sed -i -e " s#<\#APPID \#>#\" $APP_ID \" #g" $KEYCENTER_PATH
6771rm -f ${KEYCENTER_PATH} -e
6872
69- # Xcode clean
70- xcodebuild clean -workspace " ${APP_PATH} " -configuration " ${CONFIGURATION} " -scheme " ${TARGET_NAME} "
71-
72- # Timestamp
73- CURRENT_TIME=$( date " +%Y-%m-%d %H-%M-%S" )
74-
7573# Archive path
7674ARCHIVE_PATH=" ${WORKSPACE} /${TARGET_NAME} _${BUILD_NUMBER} .xcarchive"
7775
78- # Build environment
79-
80- # Plist path
76+ # plist path
8177PLIST_PATH=" ${PROJECT_PATH} /ExportOptions.plist"
8278
83-
84- # Archive using workspace (can also use project)
85- xcodebuild CODE_SIGN_STYLE=" Manual" archive -workspace " ${APP_PATH} " -scheme " ${TARGET_NAME} " clean CODE_SIGNING_REQUIRED=NO CODE_SIGNING_ALLOWED=NO -configuration " ${CONFIGURATION} " -archivePath " ${ARCHIVE_PATH} " -destination ' generic/platform=iOS' -quiet || exit 1
79+ echo PLIST_PATH: $PLIST_PATH
80+
81+ # Archive using workspace, can also use project
82+ # Disable code signing during archive phase to avoid Pods Framework signing issues
83+ # Code signing will be performed during export phase according to ExportOptions.plist
84+ xcodebuild CODE_SIGN_STYLE=" Manual" \
85+ -workspace " ${APP_PATH} " \
86+ -scheme " ${TARGET_NAME} " \
87+ clean \
88+ CODE_SIGNING_REQUIRED=NO \
89+ CODE_SIGNING_ALLOWED=NO \
90+ -configuration " ${CONFIGURATION} " \
91+ archive \
92+ -archivePath " ${ARCHIVE_PATH} " \
93+ -destination ' generic/platform=iOS' \
94+ -quiet || exit 1
8695
8796cd ${WORKSPACE}
8897
89- # Compress archive
90- 7za a -tzip " ${TARGET_NAME} _${BUILD_NUMBER} .xcarchive.zip" " ${ARCHIVE_PATH} "
91-
92- # Sign
93- # sh sign "${TARGET_NAME}_${BUILD_NUMBER}.xcarchive.zip" --type xcarchive --plist "${PLIST_PATH}"
94- sh export " ${TARGET_NAME} _${BUILD_NUMBER} .xcarchive.zip" --plist " ${PLIST_PATH} "
95-
98+ # Print certificates installed on current device (for debugging)
99+ echo " =========================================="
100+ echo " Code signing certificates installed on current device:"
101+ echo " =========================================="
102+ security find-identity -v -p codesigning | grep -E " (iPhone Distribution|Apple Distribution|iOS Distribution)" || security find-identity -v -p codesigning
103+ echo " =========================================="
104+ echo " "
105+
106+ # Print ExportOptions.plist content (for debugging)
107+ echo " =========================================="
108+ echo " ExportOptions.plist configuration content:"
109+ echo " =========================================="
110+ cat " ${PLIST_PATH} "
111+ echo " =========================================="
112+ echo " "
113+
114+ # Export IPA (using xcodebuild directly, consistent with Xcode manual export)
115+ EXPORT_PATH=" ${WORKSPACE} /export"
116+ rm -rf " ${EXPORT_PATH} "
117+ mkdir -p " ${EXPORT_PATH} "
118+
119+ security unlock-keychain -p " 123456" ~ /Library/Keychains/login.keychain
120+
121+ echo " Starting IPA export..."
122+ xcodebuild -exportArchive \
123+ -archivePath " ${ARCHIVE_PATH} " \
124+ -exportPath " ${EXPORT_PATH} " \
125+ -exportOptionsPlist " ${PLIST_PATH} " \
126+ -allowProvisioningUpdates || exit 1
127+
128+ # Rename and move IPA file
96129SDK_VERSION=$( echo $sdk_url | cut -d " /" -f 5)
97130OUTPUT_FILE=${WORKSPACE} /${TARGET_NAME} _${BUILD_NUMBER} _${SDK_VERSION} _$( date " +%Y%m%d%H%M%S" ) .ipa
98- mv ${TARGET_NAME} _ ${BUILD_NUMBER } .ipa $OUTPUT_FILE
131+ mv ${EXPORT_PATH} / ${TARGET_NAME } .ipa $OUTPUT_FILE
99132
100- rm -rf * .xcarchive
101- rm -rf * .xcarchive.zip
133+ # Clean up temporary files
134+ rm -rf " ${EXPORT_PATH} "
135+ rm -rf " ${ARCHIVE_PATH} "
102136echo OUTPUT_FILE: $OUTPUT_FILE
137+
138+
0 commit comments