We have the same issue as the above, only we need to support the WatchKitExtension for watchOS version 6.0 so that we can keep support for Apple Watch Series 2 which a number of our customers still use. I have spent the last 2 weeks trying to get the bottom of this and have had an Apple Developer Technical Support ticket (5145860) open for over a week with no reply. It seems to me that WidgetKit is incompatible with these older watchOS versions. It was my my understanding that making the WidgetKit target have a higher deployment target (9.0) should mean that it is only deployed to watchOS versions that support it whilst not impacting our WatchKitExtension (deployment target of watchOS 6.0).
The above solution of just increasing the minimum deployment target of the WatchKitExtension to 8.0 is not an appropriate solution for us. Equally we have customers with new devices (e.g. Utlra) complaining that they cannot get complications on their watch - hence our attempted migration from ClockKit to WidgetKit.
The app runs fine on the Apple Watch series 3 when deployed from XCode, but the TestFlight and App Store versions will not install on the watch at all.
In have a number sysdiagnose logs from the phone and the Watch that I can share. I cannot see any obvious error messages in there other than the following:
When installing from the App Store on the Series 3 watch:
appstored [BUYC6ECC44C/:xxxx]: Dropping invalid purchase: Error Domain=IXUserPresentableErrorDomain Code=4 "This app could not be installed because it does not work on this device." UserInfo={NSLocalizedDescription=This app could not be installed because it does not work on this device., NSLocalizedFailureReason=Incompatible device architecture.}
When attempting to install from TestFlight on the iPhone (iOS 17.1.2) i see the following in the iPhone sysdiagnose:
Watch Install Update (for iOSAppID: xxxx, iOSBuildID: 128145518, buildVersion: -): Error: Install Call Failed: status:0, error:Error Domain=TFErrorDomain Code=1106 "(null)"
Please could you help me get to the bottom of this?