2016-07-15 71 views
0

我試圖發送一個UILocalNotification這樣的:UILocalNotification不發送

func sendNotifiaction() { 
     let notification = UILocalNotification() 
     notification.userInfo = [ 
      "Identifier": self.identifier! 
     ] 
     notification.alertTitle = "Alarm!" 
     notification.alertBody = "test" 
     //notification.soundName = "Temporary-bleep-sound.aiff" 
     notification.category = "category" 

     UIApplication.sharedApplication().scheduleLocalNotification(notification) 
    } 

我試圖把一個破發點這種方法,它被調用和運行,但通知不發送。

任何人都有一個想法,爲什麼?

+0

您是否允許應用推送通知? – Lumialxk

+0

@Lumialxk我認爲這一點,我該怎麼做? –

+0

你的火災日期在哪裏? – iMHitesh

回答

0

你必須註冊通知第一

UIApplication.sharedApplication().cancelAllLocalNotifications() 
let settings = UIUserNotificationSettings(forTypes: .Alert, categories: nil) 
UIApplication.sharedApplication().registerUserNotificationSettings(settings) 

這裏是我的通知演示在特定時間

class AppDelegate: UIResponder, UIApplicationDelegate { 

    var window: UIWindow? 


    func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { 
     // Override point for customization after application launch. 

     UIApplication.sharedApplication().cancelAllLocalNotifications() 
     let settings = UIUserNotificationSettings(forTypes: .Alert, categories: nil) 
     UIApplication.sharedApplication().registerUserNotificationSettings(settings) 

     let localNotification1 = UILocalNotification() 
     localNotification1.alertBody = "Your alert message at 9:00 pm" 
     localNotification1.timeZone = NSTimeZone.defaultTimeZone() 
     localNotification1.fireDate = self.getNinePMDate() 
     UIApplication.sharedApplication().scheduleLocalNotification(localNotification1) 
     return true 
    } 

    func getNinePMDate() -> NSDate? { 
     let calendar: NSCalendar! = NSCalendar(calendarIdentifier: NSCalendarIdentifierGregorian) 
     let now: NSDate! = NSDate() 
     let date21h = calendar.dateBySettingHour(21, minute: 0, second: 0, ofDate: now, options: NSCalendarOptions.MatchFirst) 
     return date21h 
    } 
} 
0

你應該實現在appdelegatedidReceiveLocalNotification射擊,你必須手動自動顯示警告視圖,標題和消息爲alertbody您的通知。