gpt4 book ai didi

swift - 在 macOS 中访问打开文档的封闭文件夹的权限

转载 作者:行者123 更新时间:2023-11-28 13:30:48 28 4
gpt4 key购买 nike

我正在尝试制作一个 Mac 应用程序,用户可以在其中打开文档文件并使用按键或菜单滚动浏览目录中的下一个/上一个文件(就像某些图像查看器应用程序对图像所做的那样)。

我试图通过获取当前主文档窗口的文件夹 URL,并按顺序获取文件夹中的文件列表来做到这一点。但似乎我无法获得这样做的许可。我跑

fullPaths = try fileManager.contentsOfDirectory(at: folderURL, includingPropertiesForKeys: nil)

我得到错误:

The file “Journal DF” couldn’t be opened because you don’t have permission to view it.

“Journal DF”是一个文件夹。我有读/写权限。

我找到了一个 Apple developer thread这表明这可能与沙盒有关:虽然我从 NSOpenPanel 获取打开的文档本身,但我没有从该面板获取文件夹内容,所以它不想提供我的许可。看起来我可以更改设置以关闭此沙盒,这意味着该文件无法进入 Mac App Store。这是一款主要供我个人使用的应用程序,所以如果有必要我会这样做,但是有没有更优雅的方式来访问打开的文档文件夹的内容?

这是 ls -lea@hO 在给出错误的文件夹上的结果:

total 8480
drwxr-xr-x@ 26 Main staff - 832B Jul 3 11:28 .
com.dropbox.attributes 83B
drwxrwxrwx@ 267 Main staff - 8.3K Aug 7 08:30 ..
com.apple.FinderInfo 32B
-rw-r--r--@ 1 Main staff - 10K Jul 3 11:28 .DS_Store
com.apple.FinderInfo 32B
drwxr-xr-x 11 Main staff - 352B Jul 29 18:19 Current Skeletons
-rw-r--r--@ 1 Main staff - 30K May 24 16:14 Foundation sources and opposition.xlsx
com.apple.FinderInfo 32B
com.apple.quarantine 30B
-rw-r--r--@ 1 Main staff - 34K Apr 8 2018 Foundations Lucidchart 8-Apr-2018.pdf
com.apple.metadata:_kMDItemUserTags 42B
com.apple.metadata:kMDItemWhereFroms 1.2K
com.apple.quarantine 68B
-rw-------@ 1 Main staff - 22K Feb 19 2018 Foundations Lucidchart.pdf
com.apple.metadata:_kMDItemUserTags 42B
com.apple.quarantine 32B
-rw-r--r--@ 1 Main staff - 261K Feb 19 2018 Foundations Lucidchart.vdx
com.apple.metadata:_kMDItemUserTags 42B
com.apple.metadata:kMDItemWhereFroms 1.2K
com.apple.quarantine 68B
-rw-r--r--@ 1 Main staff - 61K Feb 6 2016 Foundations Skeleton 5.tbx
com.dropbox.attributes 83B
-rw-r--r--@ 1 Main staff - 151K Apr 28 2015 Journal Foundations A.md
com.apple.lastuseddate#PS 16B
com.apple.quarantine 21B
com.dropbox.attributes 83B
com.metaclassy.byword.selectedRange 10B
-rw-r--r--@ 1 Main staff - 500K Apr 15 2016 Journal Foundations C (Dakini's conflicted copy 2016-04-15).md
com.dropbox.attributes 83B
-rw-r--r--@ 1 Main staff - 528K Jun 5 2017 Journal Foundations C.md
com.apple.TextEncoding 15B
com.apple.lastuseddate#PS 16B
com.apple.quarantine 21B
com.dropbox.attributes 83B
com.metaclassy.byword.selectedRange 11B
-rw-r--r--@ 1 Main staff - 736K Sep 25 2017 Journal Foundations D.md
com.apple.TextEncoding 15B
com.apple.lastuseddate#PS 16B
com.apple.quarantine 21B
com.dropbox.attributes 83B
com.metaclassy.byword.selectedRange 11B
drwxr-xr-x@ 524 Main staff - 16K Nov 25 2017 Journal Foundations E
com.dropbox.attributes 83B
drwxr-xr-x@ 765 Main staff - 24K Dec 10 2017 Journal Foundations F
com.dropbox.attributes 83B
drwxr-xr-x@ 885 Main staff - 28K May 25 2018 Journal Foundations G
com.dropbox.attributes 83B
drwxr-xr-x@ 682 Main staff - 21K Sep 8 2018 Journal Foundations H
com.dropbox.attributes 83B
drwxr-xr-x@ 641 Main staff - 20K Jun 26 14:41 Journal Foundations I
com.dropbox.attributes 83B
-rw-r--r--@ 1 Main staff - 528K May 28 2017 Journal Synthesis A.md
com.apple.TextEncoding 15B
com.apple.lastuseddate#PS 16B
com.apple.quarantine 21B
com.dropbox.attributes 83B
com.metaclassy.byword.selectedRange 10B
drwxr-xr-x 213 Main staff - 6.7K Apr 17 21:40 Old Skeletons
-rw-r--r--@ 1 Main staff - 1.2M May 17 2017 Reflect alias
com.apple.FinderInfo 32B
com.dropbox.attributes 83B
-rw-r--r-- 1 Main staff - 16K Jun 24 2017 True Foundations 1Sk.mellel
-rw-r--r--@ 1 Main staff - 19K Feb 6 2018 True Foundations 2Sk.mellel
com.apple.metadata:kMDLabel_od4iyi2dtvvg7c4mdb6hnpcupi 105B
-rw-r--r--@ 1 Main staff - 13K Aug 27 2014 foundations.mellel
com.apple.lastuseddate#PS 16B
com.dropbox.attributes 83B
-rw-r--r--@ 1 Main staff - 13K May 10 2017 old discussion from pipeline.mellel
com.dropbox.attributes 83B
-rw-r--r--@ 1 Main staff - 46K May 14 2017 parameter zero.mellel
com.dropbox.attributes 83B

最佳答案

Vadian 的评论是正确的:它确实是关于沙盒的。我查了一下the process for security-scoped bookmarks鉴于此应用程序主要供我个人使用,它似乎方式比我想处理的要复杂得多。所以我进入 .entitlements 文件并将 App Sandbox 从 YES 更改为 NO,现在它可以正常工作了。这对我来说已经足够了。如果其他人遇到这个问题并且需要使用 App Store,那么,here's the info on security-scoped bookmarks我希望它对你有用。

关于swift - 在 macOS 中访问打开文档的封闭文件夹的权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57367009/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com