原文

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)的更多相关文章

  1. Eclipse项目中web app libraries和 Referenced Libraries区别

    Referenced  Libraries是编译环境下使用的JAR包,所谓编译环境下使用的JAR包, 就是说你在Eclipse中进行源文件的编写的时候,所需要引用到的类都从Referenced  Li ...

  2. iOS中web与Js的交互

    问题 感觉到uni-app框架有pit,公司强推该框架的小哥识趣的闭嘴,考虑到全盘替换周期跟成本挺大,基于uni-app能打包成H5,采用webview+js的原生方式集成 基本结构:原生壳 + we ...

  3. Delphi XE4 For IOS中程序的调试(虚拟机,真实机和win32)

    安装完之后,大家可以看一下XE4可以新建的工程类型: File->New: 是不是多出了FireMonkey Mobile Application这一个选项呀! 然后你再点击这个菜单项,弹出Fi ...

  4. [原]iOS中 Web 页面与 Native Code 的一种通信方式

    在 iOS 开发中,Web 页面与 Native Code 通信可以分为两个方面: 1.Native Code 调用 Web 页面的方法:主要是调用页面中的 Javascript 函数. 2.Web ...

  5. myeclipse中Web App Libraries无法自动识别lib下的jar包

    在项目目录下找到.object文件修改 <natures> <nature>org.eclipse.jem.workbench.JavaEMFNature</nature ...

  6. Delphi WebService 中 Web App Debugger 的建议

    NEW一个WEBAPP,选WEBAPPDEBUGGER,输一个COCLASSNAME,比如叫HELLO保存为工程比如叫TEST,UNIT2比如改叫WEBMOD,UNIT1以后没用了,所以还叫UNIT1 ...

  7. 关于查找iOS中App路径时所要注意的一个问题

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;) 免责申明:本博客提供的所有翻译文章原稿均来自互联网,仅供学习交 ...

  8. iOS中消息的传递机制

    本文中,会经常提及接收者[recipient]和发送者[sender].在消息传递机制中具体是什么意思,我们可以通过一个示例来解释:一个table view是发送者,而它的delegate就是接收者. ...

  9. web App libraries跟referenced libraries的一些问题

    该博文内容经参看网上其他资料归纳所成,并注明出处: 问题一:myeclipse中Web App Libraries无法自动识别lib下的jar包(http://blog.csdn.net/tianca ...

随机推荐

  1. MySQL自测测试

    #建学生信息表student create table student ( sno varchar(20) not null primary key, sname varchar(20) not nu ...

  2. ES6-数组的扩展-整理

    一.Array.from():负责把类似数组的对象以及可遍历的对象转为真正的数组 1.类似数组的对象 let arrayLike = { '0': 'a', '1': 'b', '2': 'c', l ...

  3. 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/ ...

  4. rpc框架画 和spring cloud流程图

  5. 如何成为优秀的技术Leader

    技术主管,又叫技术经理,英文一般是 Tech Leader ,简称 TL.随着工作经验的不断积累,能力的不断提升,每个人都有机会成为 Team Leader. 然而在机会到来前,我们必须提前做好准备, ...

  6. vue父组件传值和子组件触发父组件方法

    <script src="https://cdn.bootcss.com/jquery/3.4.1/jquery.js"></script> <scr ...

  7. C# PDF 填值 填充数据

    看效果图   /// <summary> /// 赛事结果PDF /// </summary> /// <param name="model"> ...

  8. CHANGELOG 的实现

    项目需要写版本信息时有对除了版本号之外更详细的 changelog 的展示, 于是就需要在平时的 git commit 中进行规范, 才能自动生成CHANGELOG.md. Husky 首先本地安装 ...

  9. 海康威视面试-java应用开发

    一面:技术面 (1)对着简历问本科学过的java相关课程,都学了哪些东西.很懵逼,很早之前学的东西,我都记不清楚了 (2)网络编程相关知识,我也不太懂,就回答了网络协议这块的知识 (3)线程相关,线程 ...

  10. JAVA8初探-让方法参数具备行为能力并引入Lambda表达式

    关于JAVA8学习的意义先来贴一下某网站上的对它的简单介绍:“Java 8可谓Java语言历史上变化最大的一个版本,其承诺要调整Java编程向着函数式风格迈进,这有助于编写出更为简洁.表达力更强,并且 ...