-
Notifications
You must be signed in to change notification settings - Fork 18
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
Xcode can't infer the correct device for the scheme #6
Comments
cc @gfontenot |
Thanks for bringing this here to more attention for those, which it might concern. To my knowing there is no other solution than what you were able to come up with so far. But there is at least a radar to be duplicated. As the info feels a bit scattered currently, just to summarize if others should come across this, to be perfectly clear what is working here and what not: Explicit Target DependenciesYou can build an universal framework with dependencies with a single scheme without any problems, when all dependencies are also available as universal frameworks and setup as explicit target dependencies in Xcode and "Find implicit dependencies" is disabled. But there are limitations in the way you can configure targets in Xcode, which might prevent you from setting up an universal framework in any possible scenario. Most target-specific settings, you'd usually setup in the Xcode GUI, can be moved to the build settings, which can be scoped by the platform. That might not be as intuitive or beginner-friendly, but is a limitation of the GUI and works at least. That doesn't apply for file target memberships. This can be resolved for source code by making use of the preprocessor / language features ( Implicit Dependencies 🪲If not all dependencies are available as universal frameworks (e.g.
If the frameworks, you depend on, use the same product name on all platforms, what you would usually do and could expect to work, because the build products directory is already scoped by platform, then you might run into rdar://20490378, which causes that Xcode indeterminately selects a scheme building the correct product, but for any platform. So for example, you might end up that your Explicit Scheme DependenciesAs a workaround, you can still setup a single universal framework by duplicating just the scheme for each platform. (e.g. |
@mrackwitz I believe there's a build setting you can use to ignore specific files |
I'm aware that this may be par for the course when using this approach but wanted to mention it in case there are workarounds available or radars to be filed.
The details can be found here, but please let me know if you need more info: thoughtbot/Curry#16 (comment)
The text was updated successfully, but these errors were encountered: