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 ...
随机推荐
- Hadoop Shell 操作
此随笔仅记录一下常用的Hadoop shell 操作的命令 参考官方文档 http://hadoop.apache.org/docs/r1.0.4/cn/hdfs_shell.html FS S ...
- C和指针--链表
1.链表的基本概念 链表(linked list)是一些包含数据的节点的集合.链表中的每个节点通过链或指针连接在一起.程序通过指针访问链表中的节点.通常节点是动态分配的. 2.链表的分类 链表可分为: ...
- GOLANG接口编程的最佳实践一 (sort.Sort(data Interface ) )
package main import( "fmt" "sort" "math/rand" ) //定义一个武当派的结构体 type Wud ...
- web开发:定位布局
一.盒子的显隐 二.小米topbar 三.相对定位 四.决定定位 五.固定定位 六.z-index属性 七.流式布局思想 八.hover父子悬浮 一.盒子的显隐 1.同一结构下, 如果采用浮动布局,所 ...
- (3)你的第一个python程序
Life is short,you need python!人生苦短,你需要python!好吧,干了这碗鸡汤................. hello world 没错,几乎是所有程序猿的第一个程 ...
- 拆机联想ideapad s500
这是我第一次拆机,中间也是经历了各种艰难险阻,最后还算是成功.首先,说一下拆机得目的:很简单,为了加一个内存条:下面具体说拆机得步骤: 第一步,在网上查攻略,刚开始的时候,并没有很详细的具体到机型,只 ...
- Java Listener
六. Java Listener 1. Java Listener 简介 * Java Listener 1. Java Listener(即:Java 监听器):用于监听 ServletRequ ...
- Word2Vec详解
Word2Vec详解 word2vec可以在百万数量级的词典和上亿的数据集上进行高效地训练:其次,该工具得到的训练结果--词向量(word embedding),可以很好地度量词与词之间的相似性.随着 ...
- java线程基础巩固---如何给你的应用程序注入钩子程序
这次做一个比较有意思的实验,我们知道当一个程序如果抛异常了其程序肯定会挂掉,那有木有可能在程序异常退出时能执行一段咱们自己的代码,比如说服务器在异常退出时需要做一些额外的资源清理,像这种场景就正好是这 ...
- Android基础相关面试问题-activity面试问题(生命周期,任务栈,启动模式,跳转协议,启动流程)
关于Android的一些面试题在15年就已经开了这个专栏了,但是一直木有坚持收集,而每次面对想要跳槽时大脑一片空白,也有些恐惧,因为毕境面试都是纯技术的沟通,要想让公司对你的技术能有所认可会全方位的进 ...