2 // ScreenshotRegister.swift
5 // Created by Hori,Masaki on 2017/11/05.
6 // Copyright © 2017年 Hori,Masaki. All rights reserved.
12 extension Notification.Name {
14 static let didRegisterScreenshot = Notification.Name(rawValue: "ScreenshotRegister.didRegisterScreenshot")
17 class ScreenshotRegister {
19 static let screenshotURLKey = "ScreenshotRegister.screenshotURLKey"
28 func registerScreenshot(_ image: NSBitmapImageRep, name: String) {
30 DispatchQueue(label: "Screenshot queue").async {
32 guard let data = image.representation(using: .jpeg, properties: [:]) else {
38 .appendingPathComponent(name)
39 .appendingPathExtension("jpg")
40 let pathURL = FileManager.default.uniqueFileURL(url)
44 try data.write(to: pathURL)
48 Logger.shared.log("Can not write image")
53 self.notify(url: pathURL)
57 func notify(url: URL) {
59 DispatchQueue.main.async {
61 NotificationCenter.default
62 .post(name: .didRegisterScreenshot,
64 userInfo: [ScreenshotRegister.screenshotURLKey: url])