点击上方亿元程序员+关注和★星标
引言
Cocos如何跟iOS通信
大家好,相信小伙伴们通过阅读笔者前几期的文章**《你那么牛,怎么不教我打iOS包?安排!》,对Cocos如何打iOS**包有了一定的了解。
但是,除了把iOS包打出来,另外还有一个重要的就是要能够调用iOS提供的OC方法以及监听OC发送的事件。
本文重点介绍一下Cocos如何跟iOS通信,如果对您或者其他人有帮助,建议转发、收藏、点赞和在看!
1.为什么要跟iOS通信?
通常我们将游戏打成iOS包之后,我们还需要接入登陆、支付或者广告等功能,通常这些平台会提供接口给到iOS原生。
因此我们想要接入这些接口,必须要使用原生OC(Objective-C 全文简称OC)去接入,接入完成后,由于游戏开发和原生的语言不同,我们还需要实现Cocos与iOS的通信。
那Cocos如何实现与iOS的通信呢?
2.Cocos与iOS的通信
Cocos想要与iOS进行通信,通常有以下两种方法:
1.基于反射机制实现 JavaScript 与 iOS 系统原生通信
在 Cocos Creator 中提供了依靠语言反射机制的跨语言通信方式,使JavaScript 可以直接调用 OC 函数的方法。
Cocos调用iOS方法的形式如下:
var result = native.reflection.callStaticMethod(className, methodName, arg1, arg2, .....);
完整示例:
if(sys.isNative && (sys.os == sys.OS.IOS || sys.os == sys.OS.OSX)){
var ret = native.reflection.callStaticMethod("NativeOcClass",
"callNativeUIWithTitle:andContent:",
"cocos2d-js",
"Yes! you call a Native UI from Reflection")