fix: convert iOS frameworks to XCFrameworks for iOS 26+ simulator arm64 support#150
Open
maickonn wants to merge 1 commit into
Open
fix: convert iOS frameworks to XCFrameworks for iOS 26+ simulator arm64 support#150maickonn wants to merge 1 commit into
maickonn wants to merge 1 commit into
Conversation
This was referenced May 8, 2026
Open
6084d93 to
a5c36a6
Compare
iOS 26+ simulators on Apple Silicon require arm64 architecture, but the vendored ffmpeg frameworks (arm64 slice) were built for iOS device platform, not iOS Simulator. Xcode rejected the link. Fix: In setup_ios.sh, after downloading and stripping bitcode, convert each .framework to .xcframework with two variants: - ios-arm64_arm64e: device slices unchanged - ios-arm64_x86_64-simulator: arm64 slice platform converted from IOS to IOSSIMULATOR via vtool, combined with x86_64 slice Also remove arm64 from EXCLUDED_ARCHS in pod_target_xcconfig since XCFramework provides correct per-platform slices.
3468b0d to
a2fc82e
Compare
|
hit the same issue, @maickonn thanks for the PR!! |
arturobuono
approved these changes
May 13, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
iOS 26+ simulators on Apple Silicon require arm64 architecture. The vendored ffmpeg frameworks (
ffmpegkit.framework,libavcodec.framework, etc.) had their arm64 slice built for iOS device platform, not iOS Simulator. Xcode rejected linking them with:Changes
scripts/setup_ios.shAfter downloading and stripping bitcode, each
.frameworkis converted to an.xcframeworkwith two variants:ios-arm64_arm64e— device variant, original arm64 + arm64e slices unchanged (platform IOS)ios-arm64_x86_64-simulator— simulator variant, arm64 slice platform converted from IOS to IOSSIMULATOR viavtool -set-build-version, combined with the pre-existing x86_64 slice (already IOSSIMULATOR)Headers and Modules directories are preserved in both variants.
ios/ffmpeg_kit_flutter_new.podspecvendored_frameworksto point to.xcframeworkfilesarm64fromEXCLUDED_ARCHS[sdk=iphonesimulator*](onlyi386remains) — no longer needed since XCFramework provides correct per-platform slicesTesting
Backward Compatibility