Appsandboxingnotallowingtoread/writeuserhomedirectory
创始人
2024-11-10 06:30:19
0次

通过使用“Security-Scoped Bookmarks”来授权访问用户主目录。代码示例如下:

// 1. 请求授权
let openPanel = NSOpenPanel()
openPanel.canChooseDirectories = true
openPanel.canCreateDirectories = false
openPanel.canChooseFiles = false
openPanel.allowsMultipleSelection = false
openPanel.directoryURL = URL(fileURLWithPath: NSHomeDirectory())
openPanel.begin { (result) -> Void in
    if result.rawValue == NSFileHandlingPanelOKButton {
        guard let url = openPanel.url else { return }
        do {
            let bookmarkData = try url.bookmarkData(options: .withSecurityScope, includingResourceValuesForKeys: nil, relativeTo: nil)
            UserDefaults.standard.set(bookmarkData, forKey: "BookmarkData")
            UserDefaults.standard.synchronize()

            // 2. 利用授权访问
            if let bookmarkData = UserDefaults.standard.object(forKey: "BookmarkData") as? Data {
                var isStale = false
                let url = try URL(resolvingBookmarkData: bookmarkData, options: .withSecurityScope, relativeTo: nil, bookmarkDataIsStale: &isStale)

                if isStale {
                    print("Bookmark is stale")
                }

                let keys = Set([.nameKey, .isDirectoryKey])
                let fileList = try FileManager.default.contentsOfDirectory(at: url, includingPropertiesForKeys: Array(keys), options: FileManager.DirectoryEnumerationOptions.skipsHiddenFiles)

                print(fileList)
            }
        } catch {
            print("Bookmark not created!")
        }
    }
}

这段代码允许用户选择主文件夹,并创建一个开发者权限的 bookmarkData,用于后续的读写操作。在以后的会话中,我们可以使用 bookmarkData 来维持对主文件夹的持续访问权限。

相关内容

热门资讯

黑科技开挂!闲来玩游戏(开挂)... 黑科技开挂!闲来玩游戏(开挂),易玩堂确实有透视挂技巧(有辅助挂方略);1、闲来玩游戏透视辅助软件激...
黑科技辅助!新胜(辅助),千亿... 黑科技辅助!新胜(辅助),千亿其实存在有透视挂技巧(有辅助挂详细)1、千亿脚本辅助下载、千亿免费透视...
黑科技外挂!福州麻将6.2(外... 黑科技外挂!福州麻将6.2(外挂),川东娱乐其实真的有透视挂攻略(有辅助挂细节)1、完成福州麻将6....
黑科技透视器!福建大玩家(透视... 黑科技透视器!福建大玩家(透视器),开心熊猫总是是真的有透视挂教程(有辅助挂技术)1、点击下载安装,...
黑科技辅助器!海南骨牌(辅助器... 黑科技辅助器!海南骨牌(辅助器),和平精英一贯真的有透视挂插件(真的有辅助挂)海南骨牌脚本下载中分为...
黑科技作弊器!星渔乐(作弊器)... 您好,神赚棋牌这款游戏可以开挂的,确实是有挂的,需要了解加去威信【136704302】很多玩家在这款...
黑科技辅助!龙虎大战(辅助),... 黑科技辅助!龙虎大战(辅助),聚星娱乐切实是有透视挂插件(有辅助挂透视)龙虎大战透视方法中分为三种模...
黑科技透视挂!同城上饶棋牌(透... 黑科技透视挂!同城上饶棋牌(透视挂),新067互娱本来真的有透视挂软件(有辅助挂辅助)1、在同城上饶...
黑科技透视器!悠游(透视器),... 黑科技透视器!悠游(透视器),来来拼十竟然存在有透视挂app(确实有辅助挂)1、不需要AI权限,帮助...
黑科技外挂!同城搓麻将(外挂)... 黑科技外挂!同城搓麻将(外挂),新众乐真是存在有透视挂技巧(有辅助挂教程)1)同城搓麻将辅助插件:进...