2017-02-26 23 views

回答

0

是的。它是:

[[NSFileManager defaultManager] setAttributes:@{ NSFilePosixPermissions : @0666 } ofItemAtPath:(* insert filepath here) error:&error]; 

Docs

正如POSIX標準,應用程序要麼必須擁有該文件或目錄或者必須運行的超級用戶屬性更改生效。該方法嘗試進行屬性中指定的所有更改,並忽略嘗試修改的任何拒絕。如果路徑的最後一個組件是一個符號鏈接,它將被遍歷。

如果您的應用程序不擁有該文件,您必須提升權限。您只能將文件權限更改爲ROOT。而文檔是清楚這一點:

Quote from Apple Doc

注:升降特權在提交給Mac App Store的應用程序是不允許的(而且是不可能的iOS)。

[...]如果你必須執行需要提升權限, 你必須知道的事實,以提升的權限運行 意味着一個任務,如果有在你的程序的任何安全漏洞, 攻擊也可以獲得較高的特權,然後可以執行上面列出的任何操作。

相關問題