Во-первых, позвольте мне выделить отличный ответ на этой странице @DejanSkledar, так как все места, отмеченные в ответе, важны.
Тем не менее, точной установки в этом ответе было недостаточно для меня. Я хотел бы дополнить этот ответ и указать, что с watchkit 2, как вам кажется, требуется иерархия при работе из приложения, приложения часов, а затем, наконец, к расширению приложения с точки зрения идентификатора пакета.
Вот настройки в каждом из соответствующих файлов info.plist, которые работали для меня после того, как я нашел edwardmp's answer on a related issue.
iPhone приложения Bundle Id: com.domain.yourapp
Watch приложения Bundle Id: com.domain.yourapp.watchkit
Watchkit в Extension Bundle Id: com.domain .yourapp.watchkit.extension
Как вы можете видеть, приложение для iPhone имеет приложение для видеонаблюдения, которое само происходит o иметь расширение сторожевого таймера, и каждый из этих уровней должен отражаться в каждом из их соответствующих идентификаторов пакета.
Завершение отношений, приложение часы должны указывать на приложение iPhone, к которому она принадлежит, используя его (WKCompanionAppBundleIdentifier), а также расширение часы должны указывать на приложение часов, к которой он принадлежит (WKAppBundleIdentifier.)
WKCompanionAppBundleIdentifier Watch приложения: com.domain.yourapp
Watch приложения Extension WKAppBundleIdentifier: com.domain.yourapp.watchkit
Надеюсь, это сэкономит кому-то некоторое время, так как мне пришлось несколько минут бороться с этим :(
Я следил за тем же, но я получаю идентификатор пакета встроенного двоичного кода, не префиксный идентификатор пакета родительского приложения. –
Должно ли расширение идентификатора пакета быть com.fruitcompany.watchkit.entension? –
, когда я создал другой идентификатор приложения с com.fruitcompany.orange.watchkit.entension, он работает, интересно, что заставляет это делать. –