我以编程方式使用预览应用程序打开图像,数据位于应用程序支持文件夹中。
NSWorkspace.SharedWorkspace.OpenFile (item.ImageUID, "Preview.app");
有没有办法给予预览应用的写入权限。 (例如旋转图像);
答案 0 :(得分:0)
是。它是:
[[NSFileManager defaultManager] setAttributes:@{ NSFilePosixPermissions : @0666 } ofItemAtPath:(* insert filepath here) error:&error];
与POSIX标准一样,应用程序必须拥有文件或目录,或者必须以超级用户身份运行才能使属性更改生效。该方法尝试进行属性中指定的所有更改,并忽略对尝试修改的任何拒绝。如果路径的最后一个组件是符号链接,则遍历该路径。
如果您的应用不拥有该文件,则必须提升权限。您只能将文件权限更改为ROOT。文档对此很清楚:
注意:提交到Mac App Store的应用程序不允许提升权限(在iOS中无法实现)。
[...]如果您必须执行需要提升权限的任务, 你必须意识到以提升的权限运行这一事实 表示如果您的程序中存在任何安全漏洞, 攻击者也可以获得提升的权限,然后就可以了 能够执行上面列出的任何操作。