Jelajahi Sumber

【fix】【权限】打开过来自其他应用沙箱内路径的文档(比如企业微信里的文档)后,每次打开APP都会弹出授权提示

tangchao 5 bulan lalu
induk
melakukan
1dcf5341e5

+ 9 - 0
PDF Office/PDF Master/Class/Document/KMMainDocument.swift

@@ -207,6 +207,15 @@ typealias KMMainDocumentCloudUploadHanddler = (@escaping(Bool, String)->()) -> (
         }
         self.view = mainViewController?.view
         
+        if let url = self.fileURL {
+            AppSandboxFileAccess().persistPermissionURL(url as URL)
+            let bookmarkData = try?url.bookmarkData(options: NSURL.BookmarkCreationOptions.withSecurityScope, includingResourceValuesForKeys: nil, relativeTo: nil)
+            if bookmarkData != nil {
+                AppSandboxFileAccess().bookmarkPersistanceDelegate.setBookmarkData(bookmarkData! as Data, for: url as URL)
+                AppSandboxFileAccess().bookmarkPersistanceDelegate.setBookmarkData(bookmarkData! as Data, for: NSURL(fileURLWithPath: url.path) as URL)
+            }
+        }
+        
         if let currentBrowser = currentWindowController?.browser {
             let activeBrowser = currentBrowser.activeTabContents()
             let activeIndex = currentBrowser.activeTabIndex()

+ 8 - 0
PDF Office/PDF Master/Class/Home/View/HomeContentView/History/KMHomeHistoryListView.swift

@@ -60,6 +60,14 @@ class KMHomeHistoryListView: KMBaseXibView {
         self.data.removeAll()
         for url in NSDocumentController.shared.recentDocumentURLs {
             if FileManager.default.fileExists(atPath: url.path) {
+                let isAccessFilePath = AppSandboxFileAccess().accessFileURL(url, persistPermission: true) {}
+//                AppSandboxFileAccess().persistPermissionURL(url as URL)
+//                let bookmarkData = try?url.bookmarkData(options: NSURL.BookmarkCreationOptions.withSecurityScope, includingResourceValuesForKeys: nil, relativeTo: nil)
+//                if bookmarkData != nil {
+//                    AppSandboxFileAccess().bookmarkPersistanceDelegate.setBookmarkData(bookmarkData! as Data, for: url as URL)
+//                    AppSandboxFileAccess().bookmarkPersistanceDelegate.setBookmarkData(bookmarkData! as Data, for: NSURL(fileURLWithPath: url.path) as URL)
+//                }
+                
                 let file = KMFileManager.manager.fetchFile(filePath: url.path)
                 self.data.append(file)
             }

+ 1 - 0
PDF Office/PDF Master/Class/README.md

@@ -86,6 +86,7 @@
 ## 首页
 
 - 打开文件 & 创建PDF KMCreatPDFView
+- 最近列表 KMHomeHistoryListView
 
 
 ## 页面编辑