2015-09-11 6 views
3

Я завершаю приложение watchOS, но у меня возникают трудности с тем, чтобы приложение iPhone работало, когда watchApp сделал запрос.viewDidLoad не вызывается при использовании приложения WatchOS

Кажется, что приложение загружается в фоновом режиме по запросу данных от Apple Watch. Однако, если я тогда (за время, пока приложение все еще находится в фоновом режиме), откройте приложение, которое отображается в представлении, но не пройдя обычное инициирование, например, вызов viewDidLoad.

Как я могу правильно загрузить представление в этом случае, когда я запускаю приложение, когда он уже загружен через внешний процесс, такой как Apple Watch?

Причина, по которой мне нужно инициализировать представление, заключается в том, что он заполняется базой данных.

Приложение представляет собой обычное приложение для раскадровки. Контроллер начального представления является UINavigationController, который загружает UIViewController как rootViewController.

Это делается «автоматически» по спецификации в настройках Ap. Я чувствую, что из-за того, что раскадровка, похоже, загружена в фоновом режиме, по какой-то причине класс RootViewController не загружается.

+0

Я знаю, что это работа, но как насчет использования applicationDidBecomeActive или applicationWillEnterForeground? Вопрос заключается в том, чтобы вызвать вызов. – mark

+0

Они делают. Тогда я решил отправить уведомление, но у меня нет возможности их инициализировать. –

+0

Вы должны предоставить дополнительную информацию о навигационной архитектуре. Например, как вы инициализируете свой контроллер представлений, как вы представляете его на экране и т. Д. –

ответ

0

Процедура ViewDidLoad фактически была вызвана, но viewDidAppear не является, если приложение приходит из фона. Таким образом, можно создать прослушиватель уведомлений в viewDidLoad, чтобы прослушать приложение из фонового режима.

Смежные вопросы