美文网首页
weex踩坑记(一)——weex打开iPad模拟器

weex踩坑记(一)——weex打开iPad模拟器

作者: 我只不过是出来写写代码 | 来源:发表于2018-11-12 15:30 被阅读258次

最近的一个项目中用到了阿里的weex开发框架,着手写这系列的文章,我会把项目工程中碰到的各种问题以及解决方案一一呈现出来。记录一下那段不分昼夜的9107工作历程,同时也给后来准备入坑的weex开发者,尤其是对于iOS端原生开发者提供一系列参考和帮助。首先要吐槽下,同为混合开发框架,React Native的技术社区完善不知道甩了weex几条街,但还是希望自己的经验能为weex开发者带来一些帮助

weex 集成过程在官网已经有比较详细的介绍(官网链接
项目在立项初,决定使用 weex 混合开发框架运行在 iPad 端上。按照官网的流程,很顺利的创建了一个新 weex 空白项目
接下来,碰到了第一个坑。在项目工程路径下执行 weex run ios 命令后,发现没有 iPad 相关的模拟器,只有 iPhone 相关机型的。总不能和领导说,weex 不支持 iPad 端模拟器调试?
想了想,既然 weex 调用的是 Xcode 中的模拟器,那么肯定会获取到 Xcode 中模拟器列表。如果强行给 weex 调用一个不存在的模拟器会发生什么?带着疑问,去尝试调了下,weex 果然报了错,而且给出了下面的 weex 内部文件报错路径

~/.xtoolkit/node_modules/weexpack/lib/utils/index.js

猜测这个可能就是控制调试Xcode模拟器的文件,打开该文件后尝试在源码中搜索一些模拟器相关的关键词,比如:SimulatoriPad
也许是自己运气好,一下子就发现了问题根源,如下图

weex源码问题根源
原来是 weex 执行文件中,将从 Xcode 获取到的模拟器列表中,包含 Watch、TV、iPad 模拟器全部过滤掉。
果断删除掉源文件中的下列代码,然后保存退出。
|| line.indexOf('iPad') >= 0 

再次执行 weex run ios命令,等待一阵后。得偿所愿,看到了 iPad 端相关的模拟器列表,选中指定的 iPad 模拟器,成功运行了起来。
(PS:自己的Xcode中只保留了部分机型模拟器)

成功找到iPad模拟器
虽然问题成功解决,但细细回想,为什么 weex 中默认是要屏蔽 iPad 端的模拟器调试呢?后来和前端开发的同事交流了下,因为牵扯到屏幕适配问题,而这又是另外一个坑。。

在后续的开发过程中,碰到了一次 Xcode 自动升级,从9.4.1升至10.0版本。关于 Xcode 这次升级,对于开发者影响最大的就是官方iOS12.0中全部采用 libc++ 代替 lstdc++ 的动态库,在 Xcode 中无法找到 lstdc++.6.0.9.tbd 动态库。而项目使用的 SuperMap SDK 又要必须 lstdc++.6.0.9.tbd 支持,我在superMap论坛上提问并得到官方的回复后(问题链接),无奈的决定将 Xcode 回滚至9.4.1版本。
因为 Xcode 版本回滚缘故,导致 weex 运行时找不到 device的错误,因为模拟器路径缓存问题(安装回旧版本,模拟器虽然显示11.4老版本)

weex提示找不到Device
这时,需要重启Mac,然后在 Xcode 中手动添加模拟器。添加完成后,再次运行 weex 命令,即可正常调用模拟器
Xcode手动添加模拟器

相关文章

  • weex踩坑记(一)——weex打开iPad模拟器

    最近的一个项目中用到了阿里的weex开发框架,着手写这系列的文章,我会把项目工程中碰到的各种问题以及解决方案一一呈...

  • Weex入门踩坑记录

    Weex入门踩坑记录

  • uniApp-study

    1. weex-image(nvue)踩坑 https://weex.apache.org/zh/docs/com...

  • weex踩坑记

    样式篇1.不支持 .classA .classB 只能用单个样式名2.只能用flex布局3.宽度只能用px4...

  • weex踩坑记

    由于某种原因weex的中文文档和中文网站隐藏的比较深,为了节约大家找的时间,我直接贴出来。 weex中文官网 gi...

  • weex 踩坑

    1. 用weex实现页面跳转? 1.1 使用vue-router position: fixed/sticky 的...

  • weex踩坑

    安装脚手架、依赖时不要使用cnpm 出现permission denyied错误时将对应文件夹写权限打开 list...

  • weex填坑指南和自己的感受

    最近,在做新版app的遇到了一堆的坑,是时候总结一波!谨防踩坑!1.weex很多样式不支持具体可以看weex官方文...

  • Weex和Android之间交互传递

    最近阿里的weex又发布了,于是去看了下weex文档,然后开始撸码,但是本人不会js,踩了居多的坑。下面来撸下we...

  • mac上前端框架开发App的相关指令

    1、配置环境变量 2、打开iOS模拟器 3、打开安卓模拟器 4、React native 5、weex 6、flu...

网友评论

      本文标题:weex踩坑记(一)——weex打开iPad模拟器

      本文链接:https://www.haomeiwen.com/subject/viqcxqtx.html