|
@@ -113,6 +113,31 @@ import Cocoa
|
|
|
let versionInfo = ProcessInfo.processInfo.operatingSystemVersion
|
|
|
return (versionInfo.majorVersion, versionInfo.minorVersion, versionInfo.patchVersion)
|
|
|
}
|
|
|
+
|
|
|
+ class func isDefaultPDFReader() -> Bool {
|
|
|
+ let app = LSCopyDefaultRoleHandlerForContentType("pdf" as CFString, LSRolesMask.all)?.takeUnretainedValue()
|
|
|
+ if (app == nil) {
|
|
|
+ return false
|
|
|
+ }
|
|
|
+
|
|
|
+ return (app! as String) == Bundle.main.bundleIdentifier!
|
|
|
+ }
|
|
|
+
|
|
|
+ class func setDefaultPDFReader(_ isOrNo: Bool) -> Bool {
|
|
|
+ var bid = "com.apple.Preview"
|
|
|
+ if (isOrNo) {
|
|
|
+ bid = Bundle.main.bundleIdentifier!
|
|
|
+ }
|
|
|
+ let status: OSStatus = LSSetDefaultRoleHandlerForContentType(KMTools.UTIforFileExtension("pdf") as CFString, LSRolesMask.all, bid as CFString)
|
|
|
+ if (status == 0) {
|
|
|
+ return true
|
|
|
+ }
|
|
|
+ return false
|
|
|
+ }
|
|
|
+
|
|
|
+ class func UTIforFileExtension(_ exn: String) -> String {
|
|
|
+ return (UTTypeCreatePreferredIdentifierForTag(kUTTagClassFilenameExtension, exn as CFString, nil)?.takeUnretainedValue())! as String
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
// MARK: -
|