IOS 菜菜菜鸟30天挑战 Day-29 本地推播

今天来讲讲本地推播

1.先导入推播

import UserNotifications

2.先获取权限

        let center = UNUserNotificationCenter.current()
        
        center.requestAuthorization(options: [.alert, .sound]) { (granted, error) in
            
        }//权限的部分

3.接下来写入下面的程序

let content = UNMutableNotificationContent()
        content.title = "Hey"
        content.body = "Look at me!" //内容
        
        let date = Date().addingTimeInterval(5) //延迟时间
        
        let dateComponents = Calendar.current.dateComponents([.year, .month, .day, .hour, .minute, .second], from: date)//取系统时间
        let trigger = UNCalendarNotificationTrigger(dateMatching: dateComponents, repeats: false)//触发条件
        
        let uuidString = UUID().uuidString
        let request = UNNotificationRequest(identifier: uuidString, content: content, trigger: trigger)//设置要求
        
        center.add(request) { (error) in//导入要求
            
        }
    }

4.成果如下


<<:  [Day. 27] Codeigniter Session

>>:  [Day 27] 永和美食纪录-DAY365美式咖啡轻食

【Day 02】从零开始的 Line Chatbot 系统-序章 Part 2

认识一些软件开发的专业术语 在做软件专案的时候,常常会看到一些英文简写,像是 Day 01 讲到的 ...

连续和非连续内存分配之间的区别

在将主内存分配给操作系统中的进程时,有两个主要部分。 在连续内存分配中,进程被分配主内存的顺序块给整...

[13th][Day13] slice

在 go 的世界中,没有 array 这个 keyword ,只有 slice 跟 map map ...

#8 Web Layout: RWD

What is RWD? “Responsive web design (RWD) is a des...

[18] [烧瓶里的部落格] 08. 撰写测试

写单元测试可以检查程序是否按预期执行,Flask 可以模拟发送请求并回传资料 应当尽可能多进行测试,...