所以基本上我的Unity程序需要修改OSX上的hosts文件,並且需要管理員權限。我得到以下異常:Unity3d請求用戶授權(OSX)
UnauthorizedAccessException: Access to the path "/private/etc/hosts" is denied.
如何彈出「XXX想要進行更改:輸入您的密碼以允許此操作」。窗口就像我附在下面的截圖一樣?
我做了一些Google,但找不到任何有用的東西。
任何建議,將不勝感激。
所以基本上我的Unity程序需要修改OSX上的hosts文件,並且需要管理員權限。我得到以下異常:Unity3d請求用戶授權(OSX)
UnauthorizedAccessException: Access to the path "/private/etc/hosts" is denied.
如何彈出「XXX想要進行更改:輸入您的密碼以允許此操作」。窗口就像我附在下面的截圖一樣?
我做了一些Google,但找不到任何有用的東西。
任何建議,將不勝感激。
做了一些更多的研究,我現在能想到的唯一的解決辦法是寫使用蘋果的Authorization service本地插件,並從統一程序調用它。
但是,如果有更多的Unity的方式做它,請不要猶豫,將其添加爲答案。
EDIT_1:進度更新和筆記給我的未來自我。
OSX本地插件後綴爲.bundle,我用C++編寫(因爲官方示例是在C++中),但它沒有訪問授權服務。我不知道如何爲捆綁項目設置OC。現在我正在嘗試爲OS X創建一個命令行工具應用程序,並將其作爲Unity3d的外部進程運行。好消息是我現在可以用swift寫它!
。
編輯_2:進度更新和一個筆記給我未來的自我。
在OC中編寫的命令行工具確實有效。我可以簡單地在Unity3d中使用Process.start(name,argument)打開命令行工具。
代碼是否失敗?你有例外嗎? – Programmer
@程序員是的,我得到了一個異常,我只是修改了這個問題。 – libra
如果您在Mac上將其作爲管理員運行,會發生什麼情況? – Programmer