iOS中web app调试(mac)
iOS中web app调试(mac).md
近期公司vue项目开发,目的是一次开发,多平台发布,其中就包含了app,app采用离线web方案,将vue打包后的js bundle文件、静态资源文件打包进app中,为提高性能、优化体验,app也通过jsbridge,暴露原生接口给web调用。
为此,web app开发时可以使用chrome等pc模拟器进行调试,但是涉及app适配,特别是原生接口调试时,就比较麻烦,必须要依赖于真机,这样那是不是有方法进行真机联调呢?
iphone连接mac,通过mac下safari就可以很方便对真机safari、app中webview进行联调。
一、真机联调配置
iphone上设置:safari设置->高级(最下面)->如上图打开Web检查器和JavaScript。
通过数据线连接mac,或者也可以手机或mac间共享热点(不需要数据线挺方便的)。
二、mac上Safari配置及真机联调
mac上配置下safari,在菜单栏显示“开发”菜单,设置好这些,将光标移动到safari的“开发”菜单项,此时就可以看到iphone上正打开的web(app webview也一样),如下图,点击任一项即可进入调试,调试方式跟平台web调试无差。
三、iOS模拟器使用
以上方式不仅适用于真机,也可用于mac模拟器,为什么有真机联调,我还要用模拟器呢?
最近试验性选用weex开发(weex是阿里推出的,基于vue的前端框架,目的是通过一次开发,同时构建web、android和ios应用,实现跨平台开发),确实有点大胆,直接用当前业务来试错,将在微信、app、m网站上线。
weex的坑基本填完了,回到模拟器使用,weex不支持打包-webkit-的部分属性,在ios8上发现了该问题。手里没有ios8的操作系统,这里用模拟器就很方便。
默认mac已经安装了xcode,通过Alfred输入sim即可快速找到ios模拟器(Simulator.app)。
通过Hardware->Device即可管理使用对应的ios版本。接下来,回到第二步即可进行模拟器联调。
四、在iOS模拟器中安装app
除了通过模拟器调试web,我们也可以安装app,进行app webview,调试,iOS模拟器安装app与真机安装不同,模拟器只能安装基于源代码打包出来的app bundle(找ios开发要)。
// 通过xcode提供的simctl命令进行安装
/Applications/Xcode.app/Contents/Developer/usr/bin/simctl install booted EgretFly_InHouse.app
iOS中web app调试(mac)的更多相关文章
- Eclipse项目中web app libraries和 Referenced Libraries区别
Referenced Libraries是编译环境下使用的JAR包,所谓编译环境下使用的JAR包, 就是说你在Eclipse中进行源文件的编写的时候,所需要引用到的类都从Referenced Li ...
- iOS中web与Js的交互
问题 感觉到uni-app框架有pit,公司强推该框架的小哥识趣的闭嘴,考虑到全盘替换周期跟成本挺大,基于uni-app能打包成H5,采用webview+js的原生方式集成 基本结构:原生壳 + we ...
- Delphi XE4 For IOS中程序的调试(虚拟机,真实机和win32)
安装完之后,大家可以看一下XE4可以新建的工程类型: File->New: 是不是多出了FireMonkey Mobile Application这一个选项呀! 然后你再点击这个菜单项,弹出Fi ...
- [原]iOS中 Web 页面与 Native Code 的一种通信方式
在 iOS 开发中,Web 页面与 Native Code 通信可以分为两个方面: 1.Native Code 调用 Web 页面的方法:主要是调用页面中的 Javascript 函数. 2.Web ...
- myeclipse中Web App Libraries无法自动识别lib下的jar包
在项目目录下找到.object文件修改 <natures> <nature>org.eclipse.jem.workbench.JavaEMFNature</nature ...
- Delphi WebService 中 Web App Debugger 的建议
NEW一个WEBAPP,选WEBAPPDEBUGGER,输一个COCLASSNAME,比如叫HELLO保存为工程比如叫TEST,UNIT2比如改叫WEBMOD,UNIT1以后没用了,所以还叫UNIT1 ...
- 关于查找iOS中App路径时所要注意的一个问题
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;) 免责申明:本博客提供的所有翻译文章原稿均来自互联网,仅供学习交 ...
- iOS中消息的传递机制
本文中,会经常提及接收者[recipient]和发送者[sender].在消息传递机制中具体是什么意思,我们可以通过一个示例来解释:一个table view是发送者,而它的delegate就是接收者. ...
- web App libraries跟referenced libraries的一些问题
该博文内容经参看网上其他资料归纳所成,并注明出处: 问题一:myeclipse中Web App Libraries无法自动识别lib下的jar包(http://blog.csdn.net/tianca ...
随机推荐
- MySQL自测测试
#建学生信息表student create table student ( sno varchar(20) not null primary key, sname varchar(20) not nu ...
- ES6-数组的扩展-整理
一.Array.from():负责把类似数组的对象以及可遍历的对象转为真正的数组 1.类似数组的对象 let arrayLike = { '0': 'a', '1': 'b', '2': 'c', l ...
- MySQL5.7 启动报错:initialize specified but the data directory has files in it. Aborting.
$ vi /etc/my.cnf ## datadir=/var/lib/mysql, 这个是data保存目录,进入/var/lib/mysql后,查看到确实有数据. #解决方法:将/var/lib/ ...
- rpc框架画 和spring cloud流程图
- 如何成为优秀的技术Leader
技术主管,又叫技术经理,英文一般是 Tech Leader ,简称 TL.随着工作经验的不断积累,能力的不断提升,每个人都有机会成为 Team Leader. 然而在机会到来前,我们必须提前做好准备, ...
- vue父组件传值和子组件触发父组件方法
<script src="https://cdn.bootcss.com/jquery/3.4.1/jquery.js"></script> <scr ...
- C# PDF 填值 填充数据
看效果图 /// <summary> /// 赛事结果PDF /// </summary> /// <param name="model"> ...
- CHANGELOG 的实现
项目需要写版本信息时有对除了版本号之外更详细的 changelog 的展示, 于是就需要在平时的 git commit 中进行规范, 才能自动生成CHANGELOG.md. Husky 首先本地安装 ...
- 海康威视面试-java应用开发
一面:技术面 (1)对着简历问本科学过的java相关课程,都学了哪些东西.很懵逼,很早之前学的东西,我都记不清楚了 (2)网络编程相关知识,我也不太懂,就回答了网络协议这块的知识 (3)线程相关,线程 ...
- JAVA8初探-让方法参数具备行为能力并引入Lambda表达式
关于JAVA8学习的意义先来贴一下某网站上的对它的简单介绍:“Java 8可谓Java语言历史上变化最大的一个版本,其承诺要调整Java编程向着函数式风格迈进,这有助于编写出更为简洁.表达力更强,并且 ...