-
Notifications
You must be signed in to change notification settings - Fork 51
feat(ios): Migrate executorch to prebuilt XCFramework #629
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this shouldnt be here, right?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
same as abvoe
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
same
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
same
This PR refactors the iOS executorch integration from Swift Package Manager (SPM) to a prebuilt XCFramework approach, resolving dependency conflicts and simplifying the build process. 1. XCFramework Integration - Added ExecutorchLib.xcframework with support for both iOS device (arm64) and simulator (arm64) - Created dedicated Xcode project for building the framework - Includes stub implementation of ETModel interface 2. Podspec Simplification - Removed system frameworks dependencies (CoreML, Accelerate, Metal, etc.) from podspec - Removed sqlite3 dependency - Removed force-load flags for executorch libraries from podspec - Added vendored XCFramework reference 3. Build Configuration - Updated ExecutorchLib project to reference binaries in ios/libs/executorch - Added build script for creating XCFramework 4. Package Management - Updated .gitignore to exclude build output - Updated package.json to include XCFramework in distribution - Removed SPM package references from ExecutorchLib project - Eliminates sqlite3 version conflicts - Cleaner dependency management - Better isolation of executorch dependencies - [x] Yes - [ ] No - [x] Bug fix (change which fixes an issue) - [ ] New feature (change which adds functionality) - [ ] Documentation update (improves or adds clarity to existing documentation) - [ ] Other (chores, tests, code style improvements etc.) - [x] iOS - [ ] Android <!-- Provide step-by-step instructions on how to test your changes. Include setup details if necessary. --> <!-- Add screenshots here, if applicable --> <!-- Link related issues here using #issue-number --> - [x] I have performed a self-review of my code - [ ] I have commented my code, particularly in hard-to-understand areas - [ ] I have updated the documentation accordingly - [x] My changes generate no new warnings <!-- Include any additional information, assumptions, or context that reviewers might need to understand this PR. -->
…on#629) ## Description ## Overview This PR refactors the iOS executorch integration from Swift Package Manager (SPM) to a prebuilt XCFramework approach, resolving dependency conflicts and simplifying the build process. ## Key Changes 1. XCFramework Integration - Added ExecutorchLib.xcframework with support for both iOS device (arm64) and simulator (arm64) - Created dedicated Xcode project for building the framework - Includes stub implementation of ETModel interface 2. Podspec Simplification - Removed system frameworks dependencies (CoreML, Accelerate, Metal, etc.) from podspec - Removed sqlite3 dependency - Removed force-load flags for executorch libraries from podspec - Added vendored XCFramework reference 3. Build Configuration - Updated ExecutorchLib project to reference binaries in ios/libs/executorch - Added build script for creating XCFramework 4. Package Management - Updated .gitignore to exclude build output - Updated package.json to include XCFramework in distribution - Removed SPM package references from ExecutorchLib project ## Benefits - Eliminates sqlite3 version conflicts - Cleaner dependency management - Better isolation of executorch dependencies ### Introduces a breaking change? - [x] Yes - [ ] No ### Type of change - [x] Bug fix (change which fixes an issue) - [ ] New feature (change which adds functionality) - [ ] Documentation update (improves or adds clarity to existing documentation) - [ ] Other (chores, tests, code style improvements etc.) ### Tested on - [x] iOS - [ ] Android ### Testing instructions <!-- Provide step-by-step instructions on how to test your changes. Include setup details if necessary. --> ### Screenshots <!-- Add screenshots here, if applicable --> ### Related issues <!-- Link related issues here using #issue-number --> ### Checklist - [x] I have performed a self-review of my code - [ ] I have commented my code, particularly in hard-to-understand areas - [ ] I have updated the documentation accordingly - [x] My changes generate no new warnings ### Additional notes <!-- Include any additional information, assumptions, or context that reviewers might need to understand this PR. -->
Description
Overview
This PR refactors the iOS executorch integration from Swift Package Manager (SPM) to a prebuilt XCFramework approach, resolving dependency conflicts and simplifying the build process.
Key Changes
Benefits
Introduces a breaking change?
Type of change
Tested on
Testing instructions
Screenshots
Related issues
Checklist
Additional notes