Я создаю независимое приложение Apple Watch (но с приложением iPhone, которое не требуется для работы приложения часов).
Приложение использует WatchConnectivity для синхронизации c данные между устройствами, если установлено приложение-компаньон iPhone. Я могу вызвать session.updateApplicationContext () в приложении iOS и получить сеанс (didReceiveApplicationContext) в приложении Watch. Но пойти другим путем невозможно. Я всегда получаю код NSError 7018, который означает, что приложение-компаньон iOS не установлено.
Я убедился, что приложение watchOS и iOS установлено в симуляторе (и проверено на моих реальных устройствах, iPhone 11 и Watch series 5.) Но получение таких же неудачных результатов от watchOS -> iOS.
Я заметил, что для watchOS 6.0+ * доступна новая переменная экземпляра WCSession 1015 * isCompanionAppInstalled . Когда я читаю эту переменную после того, как моя WCSession активирована в моем приложении для часов, она всегда возвращает false.
Есть ли еще что-то, что мне нужно искать? Я думаю, может быть, я что-то не так сделал в разных списках info.plist. Но я проверял их несколько раз.
мои файлы info.plist:
В моем приложении для часов:
WKWatchKitApp is YES
WKCompanionAppBundleIdentifier is com.abc.myapp
В моем расширении для часов:
App can run independently of companion iPhone app is YES
NSExtension
WKAppBundleIdentifier is com.abc.myapp.watchkitapp
NSExtensionPointIdentifier is com.apple.watchkit
- iOS идентификатор пакета приложения - com.ab c .myapp
- приложение watchOS - com.ab c .myapp.watchkitapp
- Расширение приложения watchOS - com.ab c .myapp.watchkitapp.watchkitextension
Есть ли что-то еще, что я мог бы пропустить?
Большое спасибо за любую помощь / понимание, что вы можете предложить в этом.