之前写的文章,可以参考参考:传送门
目录---IOS-SDK接入:
1.回忆一波(证书相关、XCode相关)
2.接入SDK
1.证书相关‘
如果在公司做项目,一般证书都不是自己申请的
是公司某个人给你的(比如运营)
这里就拿dev举个例子
一般会有俩文件:
1.p12文件
就是证书,如果有账号可以直接从app developer下载,如果没有需要从别人电脑导出过来,导出后就是这个格式
这个直接双击就行,直接把证书加到钥匙串里面,打开里面带个🔑的就算成功了
2.mobileprovision文件
这玩意就是一个描述文件,里面有自己的uiid,设备id,包名,appid之类的相关信息,打包xcode里要指定它
这个不用啥操作,留着就行
2.XCode相关
xcode应该 在12以上,要不然ios不让提交(苹果的规定)
2.接入SDK
首先我们需要下载某个平台的sdk,然后拿到里面的sdk代码
这里拿快手sdk举例子
下载完成之后,按照sdk文档要求的目录,把需要的文件,导入到Unity里面的Plugins/iOS这个目录下:
导入完成后,需要自己写交互的oc代码,负责在unity和sdk之间相互调用
那么如何写ios交互sdk代码呢?
拿登陆的代码举个例子:
首先 我们需要定义一个 DllImport 的方法
其功能是提供从非托管DLL取出我们要的代码,括号里代表dll的名字,如果想从主程序中搜索方法符号,就直接写 __internal 就行
然后与之对应的,我们需要在oc代码里面定义一个这样的方法
需要定义一个.h的头文件和一个.mm的源文件,在.h里面声明,在.mm里面实现,这个就不赘述了
主要看一下实现,要求里面和c#有个同名函数就行
我们在这里(oc代码)可以调用sdk的方法,sdk那边要求写啥,我们就写啥就行了
就拿登录来说,如果登录成功后,需要返回给unity回调,那咋整告诉呢?
可以走UnitySendMessage这个方法,这个是unity提供的
第一个是场内游戏物体的名字(咱们是SDK)
第二个是方法名(咱们应该是 UserExternalCall)
第三个是传参(这里有个坑,如果没有要传的也不能传null,只能传""空字符串)
这样就完成了一轮交互。
只需按这个规则,就能成功的接入sdk了。
额外说明一个打包选项:
如图所示
本地调试的时候,要勾选 Symlink Unity libraries
这个的意思就是 和工程里的代码做一个软连接,直接改xcode里面的代码,工程里的也变了
可以一边调试一边改以便保存