The same problem. xcode 14.2, watchOS 9.4. I have updated a scheme for a iOS app, that it includes both targets, but that didn't help. Also, an app can not be found in the "Watch" app on iPhone. Might be, the problem is because of a few errors in the console: "void * _Nullable NSMapGet(NSMapTable * _Nonnull, const void * _Nullable): map table argument is NULL".
Post
Replies
Boosts
Views
Activity
I've found out, that an app disappears exactly at the time i open an "Watch" app on iPhone.
I've just found the root of this problem. My app is iOS storyBoard with a watchOs target (in swiftui, of course). And that's the reason. I created a pure clear new app for iOS with storyboard, i added a target for a watchOS, and got the same problem as my app does. When i create a clear pure iOS app on swiftUi, add a watch target also on swiftUI - everything works perfect. It seams, that i have to change my iOS app from storyboard to swiftUi, or there are might be some another workaround regarding this problem? Should i report a bug, or it's normal behaviour?
I've found a workaround about this problem. The problem was because, the watch app target wasn't added to a main project. So, the target was there, and i can build for ios or watch os, but they weren't joined together. When project consists only of both (ios and watchos) apps on swiftUI (without any storyboard), somehow, the xcode builds them all together, and app doesn't disappear from the watch after a wile. But in case, where ios part is on storyboard, the swiftui watchkit will not be connected to the ios app as it should be. In order to join them together, there are next steps needed (i've found it from one article. here's a text from this article):
"Add the watch target to the main application
In the project navigator, select the target for your main application.
In the main pane, go to the General tab.
Scroll down to the Frameworks, Libraries, and Embedded Content section.
Click the + button and choose the watch app target from the list.
The watch app target should now be added to the list.
By adding the watch app target to the main application, you are indicating that the main application depends on the watch app and that the watch app should be included in the final app bundle when you build and run the main application. This is necessary in order for the watch app to be installed and run on the Apple Watch when the main application is installed on the iOS device."
To make handle performed on the watch, there should be a sirikit target added to the watchkit app as well. In the handler file properties, it should be targeted to the both - ios and watchkit app's sirikit targets.
When shortcut triggered on the watch, it checks - is there any intent file on the watchkit app's side. If yes, it checks - are there handler files accordingly to the intents from the intent file. When and if handler file had been found, system checks if the handler file is also targeted to the watchkit app's sirikit target. And there are should not be any intent /action especially for a watch. If something should work on the watch, it should also work on the ios device. The ios device can have something, that works only in the ios, but the watchkit intent always should have a pair for the ios.
Myself, i'm trying to find a way, how to work with watchconnectivity within sirikit. As i would like to make my app to perform some stuff from the watch app, and i don't want my app on the ios would be running for that. If someone knows about that, would be really nice to hear about it. Thanks.
Hello. Is there any thoughts regarding this topic? Me too looking for any way to communicate between watchkit sirikit handler file, and the ios app, which is closed (some stuff like a setting volume level on the iphone from the watchkit). And all examples i've crossed about are about view apps, not about sirikit handlers. Thanks in advance.