Я реализую пользовательскую схему URL в своем приложении на основе навигации, чтобы позволить пользователям импортировать данные из электронной почты, и поэтому у меня есть этот метод в моем делегате приложения:
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url
Было бы хорошо, если бы после импорта данных в этом методе я мог бы использовать popToRootViewController, чтобы вернуться к rootViewController, чтобы показать пользователю новые данные.
Однако это не работает, если пользователь импортировал данные, когда контроллер модального представления или лист действий были активны (popToRootViewController не отклоняет их и вызывает зависание приложения).
Можно ли как-нибудь безопасно отключить / уничтожить все контроллеры представления / листы действий / представления предупреждений, кроме rootViewController?
Или, может быть, какой-нибудь способ узнать из моего делегата приложения, есть ли у пользователя лист действий или контроллер модального вида?
Или я просто оставляю их там, где они остановились, и не предоставляю никаких непосредственных указаний на то, что данные были успешно добавлены?