Unity3d请求用户授权(OSX)
Unity3d request user authorisation (OSX)
所以基本上我的 Unity 程序需要修改 OSX 上的主机文件,这需要管理员权限。我得到以下异常:
UnauthorizedAccessException: Access to the path "/private/etc/hosts" is denied.
如何弹出一个"XXX wants to make changes: Enter your password to allow this." window 就像我下面附上的截图一样?
我做了一些 Google 但我找不到任何有用的东西。
如有任何建议,我们将不胜感激。
做了一些更多的研究,我现在唯一能想到的解决方案是使用苹果的 Authorization service 编写一个原生插件,并从 Unity 程序中调用它。
但是如果有更多的 Unity 方法,请不要犹豫将其添加为答案。
EDIT_1: 进度更新和未来的自己。
一个OSX的原生插件,后缀为.bundle,我是用C++写的(因为官方的例子是用c++写的),但是没有授权服务。而且我不知道如何为捆绑项目设置 OC。现在,我正在尝试另一种方法,为 OS X 和 运行 创建一个命令行工具应用程序,作为来自 Unity3d 的外部进程。好消息是现在我可以用 swift 来写了!
.
EDIT_2: 进度更新和未来的自己。
用 OC 编写的命令行工具确实有效。我可以在 Unity3d 中使用 Process.start(name, argument) 简单地打开命令行工具。
所以基本上我的 Unity 程序需要修改 OSX 上的主机文件,这需要管理员权限。我得到以下异常:
UnauthorizedAccessException: Access to the path "/private/etc/hosts" is denied.
如何弹出一个"XXX wants to make changes: Enter your password to allow this." window 就像我下面附上的截图一样?
我做了一些 Google 但我找不到任何有用的东西。
如有任何建议,我们将不胜感激。
做了一些更多的研究,我现在唯一能想到的解决方案是使用苹果的 Authorization service 编写一个原生插件,并从 Unity 程序中调用它。
但是如果有更多的 Unity 方法,请不要犹豫将其添加为答案。
EDIT_1: 进度更新和未来的自己。
一个OSX的原生插件,后缀为.bundle,我是用C++写的(因为官方的例子是用c++写的),但是没有授权服务。而且我不知道如何为捆绑项目设置 OC。现在,我正在尝试另一种方法,为 OS X 和 运行 创建一个命令行工具应用程序,作为来自 Unity3d 的外部进程。好消息是现在我可以用 swift 来写了!
.
EDIT_2: 进度更新和未来的自己。
用 OC 编写的命令行工具确实有效。我可以在 Unity3d 中使用 Process.start(name, argument) 简单地打开命令行工具。