在我的Notification Service Extension
我从一个URL下载的图像显示为UNNotificationAttachment
一个通知。
因此,我将此图像作为UIImage,没有看到仅在设置通知时将其写入磁盘上的应用程序目录/组容器中的需要。
有没有一种UNNotificationAttachment
使用UIImage 创建的好方法? (应适用于本地和远程通知)
NSData
表示形式写入UIImage
新创建的目录我写了一个扩展 UINotificationAttachment
extension UNNotificationAttachment {
static func create(identifier: String, image: UIImage, options: [NSObject : AnyObject]?) -> UNNotificationAttachment? {
let fileManager = FileManager.default
let tmpSubFolderName = ProcessInfo.processInfo.globallyUniqueString
let tmpSubFolderURL = URL(fileURLWithPath: NSTemporaryDirectory()).appendingPathComponent(tmpSubFolderName, isDirectory: true)
do {
try fileManager.createDirectory(at: tmpSubFolderURL, withIntermediateDirectories: true, attributes: nil)
let imageFileIdentifier = identifier+".png"
let fileURL = tmpSubFolderURL.appendingPathComponent(imageFileIdentifier)
let imageData = UIImage.pngData(image)
try imageData()?.write(to: fileURL)
let imageAttachment = try UNNotificationAttachment.init(identifier: imageFileIdentifier, url: fileURL, options: options)
return imageAttachment
} catch {
print("error " + error.localizedDescription)
}
return nil
}
}
因此,UNUserNotificationRequest
使用UNUserNotificationAttachment
a
进行创建UIImage
就可以像这样
let identifier = ProcessInfo.processInfo.globallyUniqueString
let content = UNMutableNotificationContent()
content.title = "Hello"
content.body = "World"
if let attachment = UNNotificationAttachment.create(identifier: identifier, image: myImage, options: nil) {
// where myImage is any UIImage
content.attachments = [attachment]
}
let trigger = UNTimeIntervalNotificationTrigger(timeInterval: 120.0, repeats: false)
let request = UNNotificationRequest.init(identifier: identifier, content: content, trigger: trigger)
UNUserNotificationCenter.current().add(request) { (error) in
// handle error
}
这应该可行,因为UNNotificationAttachment
会将图像文件复制到自己的位置。
问题内容: 我无法使用新的Twitter Bootstrap版本:Bootstrap 4 alpha在远程模式下使用Modal。它在Bootstrap 3上运行良好。在Bootstrap 4下,我正在弹出窗口,但是没有加载模型主体。没有进行远程调用来加载模型主体。 码: 问题答案: 发现了问题:他们在引导程序4中删除了远程选项 remote :自v3.3.0起不推荐使用此选项,并将在v4中将其删除
问题内容: 我试图获取从Swift中的Library导入的图像的URL,以将其发送到Apple Watch,但出现两个错误。 这是我的代码: 我在 imageName和 localPath上遇到错误,因为它说: “ lastPathComponent”不可用:在NSURL上使用lastPathComponent。’stringByAppendingPathComponent’不可用:在NSURL上
我在Jboss AS 7.1.1和PostgreSQL上运行Liferay,我将使用我的Portlet到其他PC中的EJB进行远程处理。我连接到Web应用程序(没有Liferay portlet),我的Web应用程序连接到EJB远程处理,我在将portlet部署到Liferay后出现此错误 我将standalon.xml配置为: 我的代码是: 帮助我。
问题内容: 我正在尝试为用户提供照片库中图像的选择。因此,我用于选择。但是在文件系统中获取其初始URL会带来一个问题(我需要)。 我的代码。 imageURL 有点神秘。它描述了资产URL,但没有描述文件系统中的一个。它看起来像:。 根据该逻辑 路径 是其中是所述图像的名称。 然后,我访问我的Documents文件夹并尝试在其中找到带有路径的文件: /Users/Eugene/Library/De
我创建了一个新的存储库: 然后我想将我的提交推送到github上创建的空远程存储库,因此我必须设置远程。 使用以下命令之间有什么区别 最后我执行推送: 当我在之后调用时会发生什么?是否创建来源?如果origin在之后已经存在,那么在我的场景中使用这些命令没有区别,对吧?
我想使用绑定文件将 Java 应用程序配置为使用 JMS IBM MQ 队列。我正在使用由 IBM 提供的 JMSDEMO 应用程序。它适用于本地MQ管理器,但我无法将其连接到远程管理器。我已经在远程计算机上生成了绑定文件,并将其复制到我的计算机上。 我已将绑定文件中的“本地主机”更改为远程计算机名称。但是,该应用程序仍然认为它应该连接到本地QM。(实际上它忽略了主机名设置)。 下面是IBM演示代