Skip to content

Commit d414556

Browse files
author
qinhui
committed
Update script
1 parent f8660ba commit d414556

2 files changed

Lines changed: 82 additions & 46 deletions

File tree

iOS/APIExample-SwiftUI/ExportOptions.plist

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,22 +7,22 @@
77
<key>destination</key>
88
<string>export</string>
99
<key>method</key>
10-
<string>development</string>
10+
<string>release-testing</string>
1111
<key>provisioningProfiles</key>
1212
<dict>
13-
<key>io.agora.api.examples</key>
14-
<string>AgoraLab2020</string>
15-
<key>io.agora.api.examples.Agora-ScreenShare-Extension</key>
16-
<string>AgoraLab2020</string>
13+
<key>io.agora.api.examples-swiftUI</key>
14+
<string>apiexample_wildcard_adhoc</string>
15+
<key>io.agora.api.examples-swiftUI.Agora-ScreenShare-Extension</key>
16+
<string>apiexample_wildcard_adhoc</string>
1717
</dict>
1818
<key>signingCertificate</key>
19-
<string>Apple Development</string>
19+
<string>iPhone Distribution</string>
2020
<key>signingStyle</key>
2121
<string>manual</string>
2222
<key>stripSwiftSymbols</key>
2323
<true/>
2424
<key>teamID</key>
25-
<string>JDPG69R49Z</string>
25+
<string>YS397FG5PA</string>
2626
<key>thinning</key>
2727
<string>&lt;none&gt;</string>
2828
</dict>

iOS/APIExample-SwiftUI/cloud_build.sh

Lines changed: 75 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ cd ${PROJECT_PATH}
1515

1616
pod install || exit 1
1717

18-
# Build environment
18+
# Build configuration
1919
CONFIGURATION="Debug"
2020

2121
# Project file path
@@ -30,29 +30,33 @@ KEYCENTER_PATH=$TARGET_NAME/Common/KeyCenter.swift
3030
PBXPROJ_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
5862
echo AGORA_APP_ID: $APP_ID
@@ -62,41 +66,73 @@ echo TARGET_NAME: $TARGET_NAME
6266
echo KEYCENTER_PATH: $KEYCENTER_PATH
6367
echo 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
6771
rm -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
7674
ARCHIVE_PATH="${WORKSPACE}/${TARGET_NAME}_${BUILD_NUMBER}.xcarchive"
7775

78-
# Build environment
79-
80-
# Plist path
76+
# plist path
8177
PLIST_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

8796
cd ${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
96129
SDK_VERSION=$(echo $sdk_url | cut -d "/" -f 5)
97130
OUTPUT_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}"
102136
echo OUTPUT_FILE: $OUTPUT_FILE
137+
138+

0 commit comments

Comments
 (0)