Unity3d请求用户授权(OSX)

时间:2017-02-24 16:07:08

标签: macos unity3d privileges

所以基本上我的Unity程序需要修改OSX上的hosts文件并且需要管理员权限。我得到以下例外:

UnauthorizedAccessException: Access to the path "/private/etc/hosts" is denied.

如何弹出" XXX想要进行更改:输入您的密码以允许更改。"窗口就像我在下面附上的截图一样?

我做了一些谷歌,但我找不到任何有用的东西。

任何建议都将不胜感激。

enter image description here

1 个答案:

答案 0 :(得分:1)

做了一些更多的研究,我现在能想到的唯一解决方案是使用apple的Authorization service编写一个原生插件,然后从Unity程序中调用它。

但是,如果有更多的Unity方式,请不要犹豫,将其添加为答案。

EDIT_1:进度更新和我未来的自我记录。

OSX的原生插件后缀为.bundle,我用C ++编写(因为官方的例子是用c ++编写的),但它没有访问授权服务。而且我不知道如何为捆绑项目设置OC。现在,我正在尝试替代为OS X创建命令行工具应用程序,并将其作为Unity3d的外部进程运行。好消息是现在我可以用swift来写它!

EDIT_2:进度更新和我未来的自我记录。

在OC中编写的命令行工具确实有效。我可以使用Unity3d中的Process.start(name,argument)打开命令行工具。