您的当前位置:首页正文

填坑记,Swift集成WeexSDK

来源:要发发知识网

前言:

最近在项目里集成了WeexSDK,Swift项目,不能完全按照官方给的OC例子来搞,中间遇到了一些挺疼的坑,拿出来给大家分享下,希望能够帮到那些和我一样遇到这些坑的萌新们(注意:真的只针对萌新,不喜勿喷,笔者玻璃心,你如果骂我,我肯定也会骂你)

u=1017077204,3032561456&fm=10&gp=0.jpg
首先,别告诉我你没有看过(算了,不装逼了,没看过的去看看吧,你第一步要做的就是集成WeexSDK到你的项目里)如果第一步你完成的很丝滑,而且我也假装你看了Demo,完成了对"hello.js"的渲染,那我们很快就能进入正题,聊聊填坑的事儿了.
你如果已经看到的文档了,那么恭喜你,你已经迎来了第一个坑: 自定义module,
14932580825684.jpg

,这时候,兴奋的你赶紧跑到demo里面,去查看了这个宏,然后你点啊点,发现


14932581938930.jpg

早已不写OC好多年的你表情肯定是这样的:


u=3505959089,2159339427&fm=23&gp=0.jpg 14932619244153.jpg

OC类WXEventModule的.m 实现

14932619725368.jpg u=1981424219,3081367983&fm=23&gp=0.jpg

然后在Swift类的扩展里这样:


14932620356410.jpg

别忘了把你的module引入到桥接文件

14932620892860.jpg

最后,在AppDelegate里面注册一下你的module:

WXSDKEngine.registerModule("WXOpenpageModule", with: NSClassFromString("WXEventModule"))

行了,自定义module的坑踩平了,放下键盘,拿起手机,打一盘王者农药压压惊吧!
接下来说一说Weex下载图片的坑,weexSDK 没有图片下载的能力,需要我们手动实现一个下载器WXImgLoaderDefaultImpl(英俊潇洒,懒癌晚期的我,直接克隆的演示Demo的下载器),细节没什么说的,你只要拖到你的项目里,然后在AppDelegate里注册一下就OK了

WXSDKEngine.registerHandler(WXImgLoaderDefaultImpl(), with: NSProtocolFromString("WXImgLoaderProtocol"))

结束语:

NK4RR(CPMTI7S`HOZ@4_GUP.jpg

踩坑持续中,不间断更新,欢迎评论交流~!