最近做了一个小游戏,用到了ARkit插件需要访问ios的相机权限(权限问题很简单,网上一搜一大堆,我在这也贴一下吧)
- build setting --> player setting --> other setting -->图片红框部分添加使用相机的描述即可
- 在Xcode里infolist 里添加权限
但是用户拒绝了相机权限,游戏还能运行这就出现了问题,场景画面就全是黑的了,我要判断游戏是否获取到了相机权限, 这就牵扯到unity和ios交互了,可我没接触过这方面的操作,对xcode的结构也是一脸懵逼,所以在网上找了资料,摸索了两天终于勉强把功能实现了
先处理unity这边的代码
- [DllImport("__Internal")]这个方法相当于是告诉Unity,有一个unityToIOS函数在外部会实现。
- 使用这个方法必须要导入System.Runtime.InteropServices;
- 我写的是 程序运行之后过2秒调用这个外部的方法
- 最下面两个方法 是外部回调的方法
using System.Runtime.InteropServices;
[DllImport("__Internal")]