using System.Runtime.InteropServices;
public static class iOSOpenURL
{
[DllImport("__Internal")]
private static extern void _OpenFile(string path);
public static void OpenFile(string path)
{
#if UNITY_IOS && !UNITY_EDITOR
_OpenFile(path);
#else
throw new OperationNotSupportedException("Only works on iOS!");
#endif
}
}
2条答案
按热度按时间mspsb9vt1#
在iOS上,显然你必须通过
UIDocumentInteractionController
进行本地化。你可以创建一个原生插件,比如
字符串
内容如下
型
它基本上将您的请求转发到上述
UIDocumentInteractionController
然后在它旁边有相应的
c#
文件,例如型
与此内容
型
然后回到Unity编辑器中单击本机
iOSOpenURL
(它应该有一个插件图标),并在检查器中进一步配置它-因为使用相应的文件夹名称,它应该已经选择了iOS
作为支持的目标平台-这意味着对于任何其他构建目标,此插件将不会包含在__Internal.dll
中参见See also Building plug-ins for iOS
最后,再加上你已经拥有的Unity-Android-Files-Opener,你基本上可以把它们组合成这样的东西。
型
rjzwgtxy2#
这是derHugo's answer的后续版本。
我试图实现derHugo的代码,但在执行过程中似乎遇到了一个错误:
字符串
为了避免这种情况,应该在derHugo的代码中添加:
1/在界面中:
型
2/在执行中
型