是否有NSOpenPanel替代方案,或者可以在SwiftUI中对面板进行不同的样式设置?
我曾经问过一个类似的问题,甚至在最后一刻。看来要么我的问题搞错了,要么没人能/不想对这个话题发表评论 问题 我想授予对应用程序沙箱外部文件夹的访问权限。我知道我可以通过一个是否有NSOpenPanel替代方案,或者可以在SwiftUI中对面板进行不同的样式设置?,swift,macos,appstore-sandbox,nsopenpanel,Swift,Macos,Appstore Sandbox,Nsopenpanel,我曾经问过一个类似的问题,甚至在最后一刻。看来要么我的问题搞错了,要么没人能/不想对这个话题发表评论 问题 我想授予对应用程序沙箱外部文件夹的访问权限。我知道我可以通过一个NSOpenPanel对话框来实现这一点——弹出一个模式,其中文件夹是预先选择的,因此是一个空视图,用户应该按下OK按钮 问题 由于我发现这个“带有随机OK按钮的空文件夹视图”对用户并不友好,我想知道是否有可能 使用NSOpenPanel替代或 调整面板的样式 因此,我只需弹出一个模式窗口,提醒用户应用程序需要访问文件夹(
NSOpenPanel
对话框来实现这一点——弹出一个模式,其中文件夹是预先选择的,因此是一个空视图,用户应该按下OK按钮
问题
由于我发现这个“带有随机OK按钮的空文件夹视图”对用户并不友好,我想知道是否有可能
- 使用
替代或NSOpenPanel
- 调整面板的样式
因此,如果不能使用NSSavePanel/NSOpenPanel API完成此操作,则无法完成此操作 我一直在寻找类似的东西,但没有成功。这真的很奇怪!我的意思是,我见过一些解决方案,可以将文件夹拖到应用程序中,那么为什么不可能有一个简单的提示呢?我真不敢相信没有人会遇到同样的问题?将文件夹拖到应用程序上会将其添加到沙箱中。每个实现沙盒的人都有这个问题。拖动文件夹是用户选择的文件的一个实例。你会在粘贴板上看到一个安全范围的URL。谢谢!这真的帮助我摆脱了疯狂。。。好吧,我想我得处理一下了。谢谢你的回答!是的,因此如果你将这些脚本放在容器文件夹中,你就可以访问它们,而无需与用户交互。很抱歉这个愚蠢的问题,但是我在哪里可以找到容器文件夹?我认为我只能在
../Library/Application scripts/com.developer.appName/
中运行自定义脚本,这是我的错nsapplicationscripts目录
会将您带到您已经使用的脚本目录,而NSLibraryDirectory
会将您带到/Users/sallyjones/Library/Containers/com.developer.theApp/Data/Library/Library/com.developer,而/Users/sallyjones/Library/Containers/com.developer.下面的区域就是您的应用程序自由区。考虑使用<代码> NSULSeApple SeCpPtTebug (运行沙盒中的自定义脚本的唯一方法)的运行脚本需要在代码>应用脚本中的脚本位置。