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 { return }
35 .appendingPathComponent(name)
36 .appendingPathExtension("jpg")
37 let pathURL = FileManager.default.uniqueFileURL(url)
41 try data.write(to: pathURL)
45 print("Can not write image")
49 self.notify(url: pathURL)
53 func notify(url: URL) {
55 DispatchQueue.main.async {
56 NotificationCenter.default
57 .post(name: .didRegisterScreenshot,
59 userInfo: [ScreenshotRegister.screenshotURLKey: url])