Я пытаюсь открыть popover, если приложение запущено из органа уведомления после того, как приложение было прервано. Я свяжусь, чтобы сделать это от AppDelegate
. Я использую LocalNotifications
. Я знаю, как открыть конкретный вид, если я использую кнопки действий, но не знаю, как что-то открыть, если щелкнуть тело уведомления.Открыто, если приложение запускается из органа уведомления после того, как приложение было завершено
Редактировать: Мое решение работает, только если приложение не завершено.
Edit2: Является ли это правильный способ сделать это ?:
Для простоты я пытаюсь открыть viewController
в коде, но на самом деле мне нужно предупредительное сообщение, для этого я использую JSSAlertView
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
// Override point for customization after application launch.
if let TappedNotification = launchOptions?[UIApplicationLaunchOptionsLocalNotificationKey] as? NSDictionary {
print("The notification is \(TappedNotification)")
let mainStoryboardIpad : UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
let initialViewControlleripad : UIViewController = mainStoryboardIpad.instantiateViewControllerWithIdentifier("Main") as UIViewController
self.window = UIWindow(frame: UIScreen.mainScreen().bounds)
self.window?.rootViewController = initialViewControlleripad
self.window?.makeKeyAndVisible()
}
}
return true
}
Я пробовал это, чтобы определить, в каком состоянии находится приложение, но я не могу его протестировать, если приложение прекращено и открыто извещения:
if application.applicationState == UIApplicationState.Active {
print("App already open")
} else {
print("App opened from Notification")
}
Я попытался добавить это в else{
но не открывается конкретный вид:
пусть mainStoryboardIpad: UIStoryboard = UIStoryboard (имя: "Main", сверток: ноль)
let mainStoryboardIpad : UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
let initialViewControlleripad : UIViewController = mainStoryboardIpad.instantiateViewControllerWithIdentifier("Main") as UIViewController
self.window = UIWindow(frame: UIScreen.mainScreen().bounds)
self.window?.rootViewController = initialViewControlleripad
self.window?.makeKeyAndVisible()
I хотите получить такой же эффект, как Twitter или Instagram, если на него нажимается уведомление, он перенаправляет вас на пост. Но в моем случае я хочу просто popover (модальный).
@So, если я понимаю, что вы исправить мой код должен работать. Но это не работает. Проверьте мое редактирование. Правильно ли это? –
нет необходимости проверять, если приложение application.applicationState == UIApplicationState.Active {в UIApplicationLaunchOptionsRemoteNotificationKey –
Я пробовал без него, и он не работает. Подождите. Нужно ли устанавливать мой начальный viewcotroller в «Main»? поскольку на самом деле это не первоначальный банкомат. –