7

Sto cercando di aggiungere una notifica locale personalizzato, ma sto ottenendo soltanto la notifica magazzino con la mia azione:Aggiungi Notifica costume locale in ios10 - rapido 3

enter image description here

mio storyboard assomiglia a questo (modello standard):

enter image description here

ho un interno che ha UNNotificationExtensionCategory insieme a awesomeNotification (in Info.plist). Anche la base di questa estensione è il modello Notification Content da iOS - Application Extension.

Nella mia app delegato ho questo:

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { 
    let center = UNUserNotificationCenter.current() 

    let actions = [UNNotificationAction.init(identifier: "Hey", title: "Yo", options: UNNotificationActionOptions.foreground)] 

    let category = UNNotificationCategory(identifier: "awesomeNotification", actions: actions, minimalActions: actions, intentIdentifiers: [], options: []) 
    center.setNotificationCategories([category]) 

    center.requestAuthorization([.alert, .sound]) { (granted, error) in 
    } 

    return true 
} 

Nel mio viewcontroller nella applicazione principale ho la seguente azione per innescare esso:

@IBAction func sendPressed(_ sender: AnyObject) { 
    let content = UNMutableNotificationContent() 

    content.categoryIdentifier = "awesomeNotification" 
    content.title = "Hello" 
    content.body = "What up?" 
    content.sound = UNNotificationSound.default() 

    // Deliver the notification in five seconds. 
    let trigger = UNTimeIntervalNotificationTrigger(timeInterval: 5, repeats: false) 
    let request = UNNotificationRequest(identifier: "FiveSecond", content: content, trigger: trigger) 

    // Schedule the notification. 
    let center = UNUserNotificationCenter.current() 
    center.add(request) { (error) in 
     print(error) 
    } 
    print("should have been added") 
} 

Modifica

Così funziona su iPhone 6s/6s +, comportamento molto strano: enter image description here

+0

vuoi dire che hai bisogno di una visualizzazione personalizzata in notificaton, giusto? –

+0

sì, questo è quello che sto cercando di usare. – Bjarte

+0

ho provato lo stesso ... ma non riesco a mostrare la notifica anche in 6s? Puoi mettere il tuo progetto in git? –

risposta

5

Aggiornamento: A partire da iOS 10 beta 2, sono disponibili anche notifiche avanzate su dispositivi pre-3D touch. Abbassa la notifica regolare per vederlo.

Assicurati di eseguire test su un simulatore/dispositivo iPhone6s/iPhone6s plus, non sembra funzionare su dispositivi pre-3D touch.

Su un simulatore iPhone6, provare a fare clic e trascinare verso il basso sulla notifica di magazzino che si ottiene e si dovrebbe visualizzare l'interfaccia utente personalizzata.

+0

Questo è così strano ... mi aspettavo che funzionasse su iPhone SE o anche su altri dispositivi, sembra molto strano limitarlo a quelli. Mi aspettavo anche che la mia vista dei contenuti prendesse il controllo della vista, ma mostra ancora lo stock qui sotto ... oh, bene! – Bjarte

+0

Mi aspettavo lo stesso e ho sbattuto la testa contro il muro con questo esatto problema. Sembra che arriverà su altri modelli più tardi: http://www.macrumors.com/2016/06/14/rich-notifications-without-3d-touch/ –

+0

sì 3D touch potrebbe essere solo una lunga pressione .... . – Bjarte

Problemi correlati