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
Split SwiftUI support into separate module #929
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.
LGTM.
Probably get one more approval from core maintainers also!
@@ -0,0 +1,366 @@ | |||
// !$*UTF8*$! |
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.
Rather than checking in an xcodeproj, would using be pod gen
work here to reduce the boilerplate?
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.
Yes! I've created a new issue to track this: #930
This one is similar to the other sample apps in the repo.
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.
No blockers from my perspective, just some style feedback.
Is this a positive change for the library itself? Do we actually want this code to live in a separate module? |
@timdonnelly: Any reason it shouldn't? The way you've written it, it looks like there's no dependency on |
I don't have a strong reason that it shouldn't/couldn't at a quick glance (and the software would certainly work in either case) – but module boundaries are part of the projects's API, and I'd like to always make API decisions with the end consumer in mind. Even with UIKit+SwiftUI support, the library is pretty small – I intentionally added SwiftUI support within the same module to keep the structure simple: it's the library with the UI bindings. That could certainly change, and in that case it might make sense to list the UI architecture in each module name ( This seems to be a case where Square's internal build system is failing on a simple language feature (availability checks), and that bug is driving a design decision.
The actual changes look ok, and I'm totally ok merging. I just want to make sure that we do so with the compromises called out. |
Had an offline chat with @timdonnelly. TLDR; Even though the change itself is triggered by a build system issue, moving the SwiftUI support to a different library is still the right thing to do. The |
* release-v0.23.x: Finish release v0.23.1 Correct version for WorkflowSwiftUI Release v0.23.1 Split SwiftUI support into separate module (#929)
I believe we can resolve the underlying issue here by updating the swiftUI check to be:
|
While bumping up Xcode version within Square, some ObjC-only targets are bumping into some issues during linking.
Specific error we're seeing:
While we can dig into finding out the root cause and fix it, I thought it's better to move SwiftUI support into a different module.