@@ -124,8 +124,8 @@ with open(project_file, 'w') as f:
124124print("Modified JXL library project to rename symbols")
125125PYTHON_SCRIPT
126126
127- # Disable code signing in the SDL_image Xcode project
128- echo " Disabling code signing requirements in Xcode project..."
127+ # Disable code signing and fix deployment target in the SDL_image Xcode project
128+ echo " Configuring Xcode project settings ..."
129129python3 << 'PYTHON_SCRIPT '
130130import sys
131131import re
@@ -169,11 +169,26 @@ content = re.sub(r'DevelopmentTeam = [^;]+;', '', content)
169169# Remove signing certificate
170170content = re.sub(r'CODE_SIGN_STYLE = [^;]+;', 'CODE_SIGN_STYLE = Manual;', content)
171171
172+ # Fix iOS deployment target to 12.0 (minimum supported by current Xcode)
173+ # Match the app's deployment target of 15.6 for consistency
174+ content = re.sub(r'IPHONEOS_DEPLOYMENT_TARGET = [^;]+;', 'IPHONEOS_DEPLOYMENT_TARGET = 15.6;', content)
175+
176+ # Fix headermap settings to address headermap warning
177+ # Replace any existing values (xcodebuild command line will also set these)
178+ content = re.sub(r'ALWAYS_SEARCH_USER_PATHS = [^;]+;', 'ALWAYS_SEARCH_USER_PATHS = NO;', content)
179+ content = re.sub(r'USE_HEADERMAP = [^;]+;', 'USE_HEADERMAP = NO;', content)
180+
181+ # Remove Carbon Resources build phases to suppress deprecation warning
182+ # Find and remove PBXRezBuildPhase sections
183+ content = re.sub(r'/\* Begin PBXRezBuildPhase section \*/\n.*?/\* End PBXRezBuildPhase section \*/\n', '', content, flags=re.DOTALL)
184+ # Also remove references to Rez build phases from buildPhases arrays
185+ content = re.sub(r'[0-9A-F]{24} /\* Rez \*/,?\s*\n?', '', content)
186+
172187# Write back
173188with open(project_file, 'w') as f:
174189 f.write(content)
175190
176- print("Disabled code signing in Xcode project ")
191+ print("Configured Xcode project: disabled code signing, updated deployment target to 15.6, fixed headermap settings (ALWAYS_SEARCH_USER_PATHS=NO, USE_HEADERMAP=NO), removed Carbon Resources phases ")
177192PYTHON_SCRIPT
178193
179194# Build the xcframework using direct platform builds
@@ -185,16 +200,20 @@ unset IPHONEOS_DEPLOYMENT_TARGET
185200unset TVOS_DEPLOYMENT_TARGET
186201unset WATCHOS_DEPLOYMENT_TARGET
187202
188- # Common build settings to disable code signing
203+ # Common build settings to disable code signing, set deployment target, and fix headermap
189204BUILD_SETTINGS=(
190205 CODE_SIGN_IDENTITY=" "
191206 CODE_SIGNING_REQUIRED=NO
192207 CODE_SIGNING_ALLOWED=NO
193208 DEVELOPMENT_TEAM=" "
209+ IPHONEOS_DEPLOYMENT_TARGET=15.6
210+ ALWAYS_SEARCH_USER_PATHS=NO
211+ USE_HEADERMAP=NO
194212)
195213
196214# Build for iOS devices
197215echo " Building for iOS (arm64)..."
216+ echo " Note: 'no debug symbols' warnings are expected and harmless for Release builds"
198217xcodebuild archive \
199218 -project Xcode/SDL_image.xcodeproj \
200219 -scheme SDL3_image \
@@ -203,7 +222,7 @@ xcodebuild archive \
203222 -archivePath " build/ios.xcarchive" \
204223 SKIP_INSTALL=NO \
205224 BUILD_LIBRARY_FOR_DISTRIBUTION=YES \
206- " ${BUILD_SETTINGS[@]} "
225+ " ${BUILD_SETTINGS[@]} " 2>&1 | grep -v " warning: no debug symbols " || true
207226
208227# Build for iOS Simulator
209228echo " Building for iOS Simulator (arm64, x86_64)..."
@@ -215,7 +234,7 @@ xcodebuild archive \
215234 -archivePath " build/iossimulator.xcarchive" \
216235 SKIP_INSTALL=NO \
217236 BUILD_LIBRARY_FOR_DISTRIBUTION=YES \
218- " ${BUILD_SETTINGS[@]} "
237+ " ${BUILD_SETTINGS[@]} " 2>&1 | grep -v " warning: no debug symbols " || true
219238
220239# Create the xcframework from the archives
221240echo " Creating xcframework..."
0 commit comments