在动态框架中实现通知服务和内容扩展
Implement Notification Service and Content Extension in Dynamic Framework
我已经在我的演示应用程序中实现了 Extension Notification Service
和 Notification Content Extension
,它运行得非常好。
现在,我必须在我的框架中实现它。意味着我正在开发像聊天应用程序一样支持的动态框架。在框架中 所有屏幕都是以编程方式创建的,它不包含任何故事板或 XIB。
我已经为 Notification Service Extension
和 Notification Content Extension
设置了所有必需的配置,就像我在框架中的演示应用程序一样。一切都和我仔细检查的一样。
我正在努力实施 Notification Service Extension
和 Notification Content Extension
。
我是否需要以编程方式创建 Notification Content
而不是故事板?
我是否需要添加目标依赖项?
我错过了什么?
On Dragging notification it's doesn't show me notification content.
下面是我目前用于本地通知测试的代码。此代码在演示应用程序中有效。
@available(iOS 10.0, *)
func scheduleNotification() {
UNUserNotificationCenter.current().delegate = self
let content = UNMutableNotificationContent()
content.title = "Notification"
content.body = "We will remind you that your notification demo is performed well."
content.sound = UNNotificationSound.default()
content.categoryIdentifier = "myNotificationCategory"
content.userInfo = ["Image" as AnyHashable: "https://codepo8.github.io/canvas-images-and-pixels/img/horse.png"]
let trigger = UNTimeIntervalNotificationTrigger(timeInterval: 5, repeats: false)
let request = UNNotificationRequest(identifier: "request", content: content, trigger: trigger)
UNUserNotificationCenter.current().add(request) { (error) in
if error != nil {
print("Error to add notification: \(error!.localizedDescription)")
} else {
print("Notification added")
}
}
}
我也在调试测试,但是didReceive(_ notification: UNNotification)
也没有调用。
我卡住了!请帮我?帮助将不胜感激。
我明白你关于将 Notification Service Extension
和 Notification Content Extension
添加到你的私有框架中的观点。所以你的框架包含 sharedInstance
,这就是为什么你不能在你的框架中实现这两个扩展,因为它是不允许的。
因此有创建一个小框架的解决方案,其中包含与您的扩展方法相关的代码,此方法将是 class 方法。它包含填充您的通知服务的代码。
创建新的小框架,其中包含 class 与 Notification Content Extension
和 Notification Service Extension
相关的方法和代码。
使用您的私有框架在您的应用程序中添加此框架。
在您的应用程序中添加 Notification Content Extension
和 Notification Service Extension
目标并实现所需的方法,从应用程序调用相关方法到您的通知框架。
您将使用此方法获得解决方案,但您还需要在应用程序中添加一个框架
我已经在我的演示应用程序中实现了 Extension Notification Service
和 Notification Content Extension
,它运行得非常好。
现在,我必须在我的框架中实现它。意味着我正在开发像聊天应用程序一样支持的动态框架。在框架中 所有屏幕都是以编程方式创建的,它不包含任何故事板或 XIB。
我已经为 Notification Service Extension
和 Notification Content Extension
设置了所有必需的配置,就像我在框架中的演示应用程序一样。一切都和我仔细检查的一样。
我正在努力实施 Notification Service Extension
和 Notification Content Extension
。
我是否需要以编程方式创建 Notification Content
而不是故事板?
我是否需要添加目标依赖项?
我错过了什么?
On Dragging notification it's doesn't show me notification content.
下面是我目前用于本地通知测试的代码。此代码在演示应用程序中有效。
@available(iOS 10.0, *)
func scheduleNotification() {
UNUserNotificationCenter.current().delegate = self
let content = UNMutableNotificationContent()
content.title = "Notification"
content.body = "We will remind you that your notification demo is performed well."
content.sound = UNNotificationSound.default()
content.categoryIdentifier = "myNotificationCategory"
content.userInfo = ["Image" as AnyHashable: "https://codepo8.github.io/canvas-images-and-pixels/img/horse.png"]
let trigger = UNTimeIntervalNotificationTrigger(timeInterval: 5, repeats: false)
let request = UNNotificationRequest(identifier: "request", content: content, trigger: trigger)
UNUserNotificationCenter.current().add(request) { (error) in
if error != nil {
print("Error to add notification: \(error!.localizedDescription)")
} else {
print("Notification added")
}
}
}
我也在调试测试,但是didReceive(_ notification: UNNotification)
也没有调用。
我卡住了!请帮我?帮助将不胜感激。
我明白你关于将 Notification Service Extension
和 Notification Content Extension
添加到你的私有框架中的观点。所以你的框架包含 sharedInstance
,这就是为什么你不能在你的框架中实现这两个扩展,因为它是不允许的。
因此有创建一个小框架的解决方案,其中包含与您的扩展方法相关的代码,此方法将是 class 方法。它包含填充您的通知服务的代码。
创建新的小框架,其中包含 class 与
Notification Content Extension
和Notification Service Extension
相关的方法和代码。使用您的私有框架在您的应用程序中添加此框架。
在您的应用程序中添加
Notification Content Extension
和Notification Service Extension
目标并实现所需的方法,从应用程序调用相关方法到您的通知框架。
您将使用此方法获得解决方案,但您还需要在应用程序中添加一个框架