Disallow the "watchOS" supported destination for multiplatform apps #1470
+44
−5
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.
This PR addresses #1463, where the "Embed Watch Content" build phase isn't automatically generated when a watchOS app is created using the
supportedDestinations
configuration.According to Apple's documentation:
Xcode 15.3 is also not capable of creating multiplatform apps that contain the watchOS supported destination. Such the option does not show up on the UI:
Provided Xcode doesn't support it now, I had XcodeGen error out when
supportedDestinations
for an application contains watchOS. I added a new validation error case because I think this is an exceptional case that needs a special consideration.We can continue to create a watchOS app as an independent target by using the
platform
configuration as before. This PR does not affect the configurations of non-application targets.Tests
You can use the following example specs to verify the changes.
A "success" case using
platform
An "error" case using
supportedDestinations