Cannot install watch app on watches running watchOS 7 & 8 after adding WidgetKit extension

In our most recent app update, we added a WidgetKit extension to our watch app. The WidgetKit extension has a minimum deployment target of watchOS 9, but the watch app has a minimum deployment target of watchOS 7.

After releasing this update, we discovered customers running watchOS 7 & 8 can no longer install the app on their watch. When tapping the Install button in the Watch app on the phone, it spins for a while and then stops and returns to saying Install. No error message is displayed.

If I build and run the iOS app through Xcode, I'm able to install the app on a watch running watchOS 8.8.1. However, I'm unable to install the app on the watch from TestFlight or the App Store.

Has anyone else run into this or have any thoughts on what project settings we should look at to fix the issue?

Is this an issue that you're able to reproduce yourself? If so, can you file a feedback that includes a sysdiagnose? That'd be very helpful in determining what's going on here. Thanks!

Thanks to a tip from the developers of another app, we found that changing the deployment target of the watch app from watchOS 7 to watchOS 8, allowed the app to be installed on devices running watchOS 8.

Since all devices that supported watchOS 7 also support watchOS 8, this was an acceptable workaround and we have now released an app update with this change.

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?

A quick update of something else that I have found...

If it take the exact same .ipa file that is available on the App Store/TestFlight and fails to install on the Apple Watch S3 via App Store or TestFlight, but add it onto the iPhone via XCode (Devices/Simulators then manually add it under "Installed Apps") then it will install on the iPhone. Then if I go into the "Watch" app on the iPhone and tap "Install" under "Available Apps" It will install and run fine on the Apple Watch S3! So it looks like my .ipa is compatible with the the old watchOS 8.8.1, but something in the App Store or TestFlight wrongly prevents this install on the watch.

Again, this is the exact same .ipa as the App Store, but trying to install from the "Watch" app on the iPhone if i downloaded it from the App Store will not install it on the watch. 🤯

Cannot install watch app on watches running watchOS 7 & 8 after adding WidgetKit extension
 
 
Q