学习weex的ios开发,虽然weex官方有一些文档,但是变化很大维护的不是很及时,而且不算很细致,对于一个iOS还没探索过的前端同学,多走了很多坑。所以,我把走过的路总结下,希望对后面的同学能起到帮助。
目的
目的是能快速开发调试ios端weexmodule的和component。所以没有现有的App,一切从零开始,一切减法为上。
环境搭建
iOS开发环境 和 CocoaPods
搭建iOS开发环境,下载Xcode。这里会要求注册开发者,只要普通免费的苹果账号(无需付费成为开发者)就可以申请iOS证书打包安装到自己手机测试。
此处有坑就是新的Xcode要求mac升级到10.13.4版本。
CocoaPods是用gem命令安装,需要设置ruby软件源。参考CocoaPods安装方法-2018.03.27
新建App
打开Xcode,新建Single View App,输入相关信息,create。
第一次开发的同学可能需要在signing中配置下team信息为自己。这个时候的App就可以运行试试了。
点击运行(三角形图标),发现只是build success的提示,模拟器呢?此一坑,设置下即可解决。
选择Product - Scheme - Edit Scheme:
在Run中配置如下图。
再运行Xcode,模拟器就打开了。
注意,这里可以选择运行的模拟器,如果连上自己的苹果手机,还能在模拟器选择中选择识别的手机型号,从而构建匹配自己手机的APP。
集成Weex
首先要在App中引入Weex SDK,进入App的代码根目录。运行如下命令:
|
|
查询WeexSDK,会出现很多条信息,找到WeexSDK的,复制下面的pod 'WeexSDK', '~> 0.18.0'
修改Podfile。
修改Podfile:
在# use_frameworks!
后添加查询的值pod 'WeexSDK', '~> 0.18.0'
,保存退出。
下载WeexSDK依赖:
现在Weex已经集成到我们的App中了。再用Xcode打开App,可以在Linked Frameworks and Libraries中发现添加了libPods。
|
|
开发Module
以前面的App为例,用Xcode打开的工程里找到iosTest文件夹,可以在其中新建我们自定义的module的h和m文件。
iosTest文件夹上右键 - New File,新建h(Header File),取名MyMd5Module - create
修改内容如下:
新建同名的.m文件。内容如下:
踩坑如下:
1、所以Weex注册方法应该设置为-
开头,表示是实例方法。+
表示是类方法。weex中注册方法都会实例化方法,所以之前用了+
,总是在模拟器端看不到效果。
2、weexpack工具官方的一些说明和weex官方页面的说明有区别,暴露module对外方法是在.m文件内定义的。但是module的注册方法是在App的AppDelegate.m中定义的。按照官方说明的代码可以实现。
|
|
模拟器调试
我们知道App运行Weex页面其实是打开了一个url。所以我们还需要在App中开发默认打开页面进入我们的bundle.js页面。
App的界面代码在ViewController.m中,代码如下:
代码里可以看到,URLForResource我设置为examples/native/index.js。你也可以设置为其他值。vue的工程一般在其他文件夹,也有热更新。所以只要在Xcode中更目录下右键 - Add Files to “xxx”中选择vue的工程目录即可。或者直接把热更新编译后的js引入也行。记得修改这里的路径。
最后点击运行,看到结果了~