Hi all,
I’m running into an issue with my iOS + Apple Watch app project, and I could really use some advice. My WatchOS app requires an iOS companion for settings and configuration, so both apps need to be distributed together. Here’s how I structured my Xcode project:
Main iOS App target
WatchOS App target
WatchOS Extension target
However, I’m very confused about how these targets interact, and things are not working as expected.
The problem:
I can build and run the WatchOS app and its extension independently in the simulator by selecting their schemes.
When I select the main iOS app scheme, I get an error about ITSWatchOnlyContainer in the Info.plist—even though there’s no Info tab for that target in Xcode.
I’m able to distribute the WatchOS app by itself, and the extension as well. But I can’t distribute them bundled together as a single package, and I haven’t found any clear resources that explain how to fix this.
This is my very first app, and it’s frustrating to get stuck just before the finish line!
Project Structure / steps to reproduce
Let’s say my project is called MyAppProject, with these targets:
MyAppProject
Main iOS App
Embedded target: MyAppProject Watch App
Bundle identifier: com.example.MyAppProject
MyAppProject Watch App
WKCompanionAppBundleIdentifier: com.example.MyAppProject
“Requires iOS App”: YES
MyAppProject Extension
Bundle identifier: com.example.MyAppProject
When running from the MyAppProject scheme, I get this error (even though I can’t see or edit the Info.plist in Xcode for this target):
“Please try again later. This app has the ITSWatchOnlyContainer key set in its Info.plist, which identifies it as a shell app surrounding a Watch-only app; these are not installable.”
As a result, I can’t distribute the app as a bundle.
I’d appreciate help understanding:
How should the Info.plist files be configured for each target?
What do I do if the Info.plist path seems missing in the Xcode UI?
Is there a “correct” way to structure an iOS + WatchOS app for bundled distribution?