Unity与IOS交互

Unity使用C#IOS使用Object-c 两者互相调用,使用C作为两者之间的桥梁,为了简化流程,两者互调只有一个接口

Unity >> IOS

Unity发送是通过StarjoysInterface.cs中的ToSdkEvent接口调用IOSSDK,中的GetGameEvent_Unity

IOS接收,在MyIOSSDK.mm 中的 GetGameEvent(int type,char* data) 接收C#发送过来的消息,通过类型,去执行不同的接口,并按照约定好的格式去解析参数 data

IOS >> Unity

IOSUnity发送消息是通过UnityEngine.dll提供的UnitySendMessage方法向Unity通信

UnitySendMessage("AppMain","GetSdkEvent", [param UTF8String]);

这三个参数分别代表

AppMain:接收消息的GameObject的名字 (下边图片中的InitScene场景中的AppMain)

GetSdkEvent: 接收消息的方法名 (下边图片中的StarjoysInterface.cs 中的GetSdkEvent方法)

[param UTF8String]:参数  (下边图片中的StarjoysInterface.cs GetSdkEvent方法中处理IOS发送过来的消息)

 IOS打包后的处理

IOS的打包前的处理流程跟Android类似,不同的是IOS打出的是XCODE工程,在打出XCODE工程之后,会自动修改一些设置,在自动生成的脚本中添加一些SDK相关的一些代码

处理的逻辑在 Editor下的PBXProjectDemo.cs(注释写的很详细) 中处理,打包结束后,会自动回调 OnPostprocessBuild

 

 

Umeng IOS push 集成文档 http://dev.umeng.com/push/ios/integration

UnityIOS交互

猜你喜欢

转载自blog.csdn.net/dongjingxia/article/details/80668071