@@ -99,33 +99,74 @@ start_group "Creating universal binaries (x64 + arm64)"
9999mkdir -p " $OUT_DIR /macOS-lib"
100100cp -R " $OUT_DIR /macOS-x64/$FRAMEWORK_NAME .framework" " $OUT_DIR /macOS-lib/$FRAMEWORK_NAME .framework"
101101lipo -create -output " $OUT_DIR /macOS-lib/$FRAMEWORK_NAME .framework/$FRAMEWORK_NAME " " $OUT_DIR /macOS-arm64/$FRAMEWORK_NAME .framework/$FRAMEWORK_NAME " " $OUT_DIR /macOS-x64/$FRAMEWORK_NAME .framework/$FRAMEWORK_NAME "
102+ if [ -d " $OUT_DIR /macOS-x64/$FRAMEWORK_NAME .dSYM" ]; then
103+ cp -R " $OUT_DIR /macOS-x64/$FRAMEWORK_NAME .dSYM" " $OUT_DIR /macOS-lib/$FRAMEWORK_NAME .dSYM"
104+ lipo -create -output " $OUT_DIR /macOS-lib/$FRAMEWORK_NAME .dSYM/Contents/Resources/DWARF/$FRAMEWORK_NAME " " $OUT_DIR /macOS-arm64/$FRAMEWORK_NAME .dSYM/Contents/Resources/DWARF/$FRAMEWORK_NAME " " $OUT_DIR /macOS-x64/$FRAMEWORK_NAME .dSYM/Contents/Resources/DWARF/$FRAMEWORK_NAME "
105+ fi
102106
103107mkdir -p " $OUT_DIR /catalyst-lib"
104108cp -R " $OUT_DIR /catalyst-arm64/$FRAMEWORK_NAME .framework" " $OUT_DIR /catalyst-lib/$FRAMEWORK_NAME .framework"
105109lipo -create -output " $OUT_DIR /catalyst-lib/$FRAMEWORK_NAME .framework/$FRAMEWORK_NAME " " $OUT_DIR /catalyst-arm64/$FRAMEWORK_NAME .framework/$FRAMEWORK_NAME " " $OUT_DIR /catalyst-x64/$FRAMEWORK_NAME .framework/$FRAMEWORK_NAME "
110+ if [ -d " $OUT_DIR /catalyst-arm64/$FRAMEWORK_NAME .dSYM" ]; then
111+ cp -R " $OUT_DIR /catalyst-arm64/$FRAMEWORK_NAME .dSYM" " $OUT_DIR /catalyst-lib/$FRAMEWORK_NAME .dSYM"
112+ lipo -create -output " $OUT_DIR /catalyst-lib/$FRAMEWORK_NAME .dSYM/Contents/Resources/DWARF/$FRAMEWORK_NAME " " $OUT_DIR /catalyst-arm64/$FRAMEWORK_NAME .dSYM/Contents/Resources/DWARF/$FRAMEWORK_NAME " " $OUT_DIR /catalyst-x64/$FRAMEWORK_NAME .dSYM/Contents/Resources/DWARF/$FRAMEWORK_NAME "
113+ fi
106114
107115mkdir -p " $OUT_DIR /iOS-device-lib"
108116cp -R " $OUT_DIR /iOS-arm64-device/$FRAMEWORK_NAME .framework" " $OUT_DIR /iOS-device-lib/$FRAMEWORK_NAME .framework"
109117lipo -create -output " $OUT_DIR /iOS-device-lib/$FRAMEWORK_NAME .framework/$FRAMEWORK_NAME " " $OUT_DIR /iOS-arm64-device/$FRAMEWORK_NAME .framework/$FRAMEWORK_NAME "
118+ if [ -d " $OUT_DIR /iOS-arm64-device/$FRAMEWORK_NAME .dSYM" ]; then
119+ cp -R " $OUT_DIR /iOS-arm64-device/$FRAMEWORK_NAME .dSYM" " $OUT_DIR /iOS-device-lib/$FRAMEWORK_NAME .dSYM"
120+ lipo -create -output " $OUT_DIR /iOS-device-lib/$FRAMEWORK_NAME .dSYM/Contents/Resources/DWARF/$FRAMEWORK_NAME " " $OUT_DIR /iOS-arm64-device/$FRAMEWORK_NAME .dSYM/Contents/Resources/DWARF/$FRAMEWORK_NAME "
121+ fi
110122
111123mkdir -p " $OUT_DIR /iOS-simulator-lib"
112124cp -R " $OUT_DIR /iOS-arm64-simulator/$FRAMEWORK_NAME .framework" " $OUT_DIR /iOS-simulator-lib/$FRAMEWORK_NAME .framework"
113125lipo -create -output " $OUT_DIR /iOS-simulator-lib/$FRAMEWORK_NAME .framework/$FRAMEWORK_NAME " " $OUT_DIR /iOS-arm64-simulator/$FRAMEWORK_NAME .framework/$FRAMEWORK_NAME " " $OUT_DIR /iOS-x64-simulator/$FRAMEWORK_NAME .framework/$FRAMEWORK_NAME "
126+ if [ -d " $OUT_DIR /iOS-arm64-simulator/$FRAMEWORK_NAME .dSYM" ]; then
127+ cp -R " $OUT_DIR /iOS-arm64-simulator/$FRAMEWORK_NAME .dSYM" " $OUT_DIR /iOS-simulator-lib/$FRAMEWORK_NAME .dSYM"
128+ lipo -create -output " $OUT_DIR /iOS-simulator-lib/$FRAMEWORK_NAME .dSYM/Contents/Resources/DWARF/$FRAMEWORK_NAME " " $OUT_DIR /iOS-arm64-simulator/$FRAMEWORK_NAME .dSYM/Contents/Resources/DWARF/$FRAMEWORK_NAME " " $OUT_DIR /iOS-x64-simulator/$FRAMEWORK_NAME .dSYM/Contents/Resources/DWARF/$FRAMEWORK_NAME "
129+ fi
114130
115131end_group
116132
117133start_group " Creating XCFramework"
118134
119- xcodebuild -create-xcframework \
120- -framework " $OUT_DIR /iOS-device-lib/$FRAMEWORK_NAME .framework" \
121- -framework " $OUT_DIR /iOS-simulator-lib/$FRAMEWORK_NAME .framework" \
122- -framework " $OUT_DIR /macOS-lib/$FRAMEWORK_NAME .framework" \
123- -framework " $OUT_DIR /catalyst-lib/$FRAMEWORK_NAME .framework" \
124- -framework " $OUT_DIR /tvOS-arm64-device/$FRAMEWORK_NAME .framework" \
125- -framework " $OUT_DIR /tvOS-arm64-simulator/$FRAMEWORK_NAME .framework" \
126- -framework " $OUT_DIR /xrOS-arm64-device/$FRAMEWORK_NAME .framework" \
127- -framework " $OUT_DIR /xrOS-arm64-simulator/$FRAMEWORK_NAME .framework" \
128- -output " $OUT_DIR /$FRAMEWORK_NAME .xcframework"
135+ XCFRAMEWORK_ARGS=(-create-xcframework)
136+
137+ FRAMEWORK_PATHS=(
138+ " $OUT_DIR /iOS-device-lib/$FRAMEWORK_NAME .framework"
139+ " $OUT_DIR /iOS-simulator-lib/$FRAMEWORK_NAME .framework"
140+ " $OUT_DIR /macOS-lib/$FRAMEWORK_NAME .framework"
141+ " $OUT_DIR /catalyst-lib/$FRAMEWORK_NAME .framework"
142+ " $OUT_DIR /tvOS-arm64-device/$FRAMEWORK_NAME .framework"
143+ " $OUT_DIR /tvOS-arm64-simulator/$FRAMEWORK_NAME .framework"
144+ " $OUT_DIR /xrOS-arm64-device/$FRAMEWORK_NAME .framework"
145+ " $OUT_DIR /xrOS-arm64-simulator/$FRAMEWORK_NAME .framework"
146+ )
147+
148+ DSYM_PATHS=(
149+ " $OUT_DIR /iOS-device-lib/$FRAMEWORK_NAME .dSYM"
150+ " $OUT_DIR /iOS-simulator-lib/$FRAMEWORK_NAME .dSYM"
151+ " $OUT_DIR /macOS-lib/$FRAMEWORK_NAME .dSYM"
152+ " $OUT_DIR /catalyst-lib/$FRAMEWORK_NAME .dSYM"
153+ " $OUT_DIR /tvOS-arm64-device/$FRAMEWORK_NAME .dSYM"
154+ " $OUT_DIR /tvOS-arm64-simulator/$FRAMEWORK_NAME .dSYM"
155+ " $OUT_DIR /xrOS-arm64-device/$FRAMEWORK_NAME .dSYM"
156+ " $OUT_DIR /xrOS-arm64-simulator/$FRAMEWORK_NAME .dSYM"
157+ )
158+
159+ for i in " ${! FRAMEWORK_PATHS[@]} " ; do
160+ XCFRAMEWORK_ARGS+=(-framework " ${FRAMEWORK_PATHS[$i]} " )
161+
162+ if [[ " $DEBUG " == " true" ]] && [[ -d " ${DSYM_PATHS[$i]} " ]]; then
163+ XCFRAMEWORK_ARGS+=(-debug-symbols " ${DSYM_PATHS[$i]} " )
164+ fi
165+ done
166+
167+ XCFRAMEWORK_ARGS+=(-output " $OUT_DIR /$FRAMEWORK_NAME .xcframework" )
168+
169+ xcodebuild " ${XCFRAMEWORK_ARGS[@]} "
129170
130171end_group
131172
0 commit comments