Following up here. This is of course infernally annoying to test and debug: there is no response from Apple on this issue or documentation about VPP vs App Store differences. Furthermore we can only test our attempted changes by submitting a new build to the app store, waiting for approval, and then trying to deploy to our devices with VPP.
What we can confirm is:
– This is happening with other watch companion apps installed through VPP. HOWEVER a couple of watch companion apps I tested DID work. I would be happy to provide a list for comparison to Apple if it's helpful.
– We tried adjusting a bunch of project settings related to optimization, dead code stripping, symbol stripping, etc. following a mix of online and AI-based guidance about potential objective-c metadata issues flagged from the crash logs. Our app is primarily based on Swift 5 but it does target some objective-c pods and frameworks which haven't changed in years. This didn't help.
– Our app used the old WatchKit architecture with both an app target and an extension target. We tried rearchitecting our entire project to use the modern WatchKit approach to companion apps in the hope that it would change the way that VPP handles install and licensing. Unfortunately, after another round of app submission and testing, this also didn't work.
– This regression persists in watchOS 26.3. As a reminder, this issue was introduced in watchOS 26.2.
This leaves us in a pretty pathetic situation. There is no documentation, logging, or testing framework that we have been able to find to further figure out this problem. Apple won't answer us here or in feedback and DTS won't accept a ticket without a minuscule sample project file. Creating a sample project would be a huge hurdle, as it would involve creating a dummy app that can be submitted to the app store, and then iteratively guessing about potential issues, adding to the project, submitting to the store, and testing on VPP.
Any feedback or help is appreciated.