-
Notifications
You must be signed in to change notification settings - Fork 54
Add integration guide for OpenSwiftUI #553
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
Merged
Merged
Conversation
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
This guide provides step-by-step instructions for integrating OpenSwiftUI into Xcode projects, including: - Using branch/revision dependencies instead of tags (due to unsafeFlags) - Manually adding DarwinPrivateFrameworks xcframeworks - Platform-specific setup and troubleshooting tips
Add renamed screenshots for the integration guide: - add-package-dependency.png: Shows adding OpenSwiftUI package - show-in-finder.png: Shows locating DarwinPrivateFrameworks - add-xcframeworks.png: Shows adding xcframeworks with "Do Not Embed"
- Clarify Darwin platforms (not just macOS) need xcframework setup - Update platform support info: macOS, iOS simulator supported; visionOS experimental - Note iOS device builds not supported due to missing AttributeGraph symbols - Update error message to more specific CFBundleExecutable error - Remove redundant sections for better clarity
Integration guide updates: - Add ABI compatibility requirements section - Note that current Render engine uses SwiftUI private API without ABI guarantee - Document supported ABI versions: iOS 18.5 and macOS 15.5 - Clarify iOS device build limitations README updates: - Add reference to INTEGRATION.md in Usage section - Organize Usage section with Integration Guide and Example Application
- Consolidate iOS device build limitation and ABI compatibility requirements - Add numbered list for clarity - Include affected platforms and workarounds for each limitation - Improve documentation structure and readability
- Limitation 1: Will be lifted when OpenAttributeGraph is ready (unlocks iOS device support) - Limitation 2: Will be lifted when OpenSwiftUI's Render engine is ready (removes ABI version lock) - Clarify the path forward for resolving each limitation
Prerequisites changes: - Update Xcode version to 16.4 - Update platform requirements to macOS 15.5 / iOS 18.5 to match ABI requirements Screenshots organization: - Move screenshots to Screenshots/Integration/ directory - Update all image references in INTEGRATION.md
- Use GitHub-style warning callout block for better visibility - Split message into multiple lines for better readability
- Separate integration steps for Swift Package vs Xcode project - Step 1 (SwiftPM): Add package dependency with branch/revision - Step 1-3 (Xcode): Add package, handle xcframeworks, add required frameworks - Improve "Why This Is Needed" section with NOTE callout - Update code example to show VStack with Color views - Add note about limited API/View support
- Update intro to cover both SwiftPM and Xcode projects - Fix section naming: "Swift Package Manager (SPM)" and "Xcode Project" - Resolve step numbering: "Using OpenSwiftUI in Your Code" (shared section) - Fix grammar: "APIs and Views are" (plural) - Improve NOTE callout formatting for consistency
dfcdbd8 to
3ea5b40
Compare
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #553 +/- ##
==========================================
- Coverage 24.64% 24.62% -0.02%
==========================================
Files 505 505
Lines 29204 29204
==========================================
- Hits 7197 7192 -5
- Misses 22007 22012 +5 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
- Document full debug support with screenshot - Note that Xcode Preview support is under development - Add openswiftui-debug.png showing debugging capabilities
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
documentation
Improvements or additions to documentation
enhancement
New feature or request
platform: iOS
platform: macOS
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
This PR adds a comprehensive integration guide (
INTEGRATION.md) for developers who want to use OpenSwiftUI in their projects.What's Included
Documentation
Screenshots
Screenshots/Integration/:add-package-dependency.png: Adding OpenSwiftUI packageshow-in-finder.png: Locating DarwinPrivateFrameworksadd-xcframeworks.png: Configuring xcframeworks with "Do Not Embed"Key Features
README Updates
Testing
Close #519