原文

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. 【opencv源码解析】 三、resize

    resize.cpp void cv::resize( InputArray _src, OutputArray _dst, Size dsize, double inv_scale_x, doubl ...

  2. IDEA的第一个java程序

    import java.util.Scanner;public class 阶乘{ public static void main(String[] args) { int sum=1,i; Scan ...

  3. 三 HashSet

    HashSet无序且不能重复 1.HashSet类的字段属性 //HashSet集合中的内容是通过 HashMap 数据结构来存储的 private transient HashMap<E,Ob ...

  4. Linux/Unix/Cygwin 常用命令

    以下只说明各指令的基本用法,若需详细说明,请用man去读详细的manual.[Cygwin通常没有安装 man相关的文件,所以没有man功能] 1.关于文件/目录处理的指令: 1.1 ls 这是最基本 ...

  5. Linux磁盘及文件系统管理4

    文件系统的使用: 首先要“挂载”:mount命令和umount命令 根据文件系统之外的其它文件系统要想能够被访问,都必须通过“关联”到根文件系统上的某个目录来实现,此关联操作即为“挂载”:此目录即为“ ...

  6. String 类的常用方法都有那些?(未完成)

    String 类的常用方法都有那些?(未完成)

  7. 从Excel中读取数据并批量写入MySQL数据库(基于MySQLdb)

    一.Excel内容如下,现在需要将Excel中的数据全部写入的MySQL数据库中: 二.连接MySQL的第三方库使用的是“MySQLdb”,代码如下: # -*- coding:utf-8 -*-im ...

  8. CF1157F Maximum Balanced Circle

    思路 观察到答案一定是连续的一段下凸函数或者上凸函数 直接模拟找出即可 时间复杂度为\(O(n)\) 代码 #include <cstdio> #include <cstring&g ...

  9. enum枚举变量

    如果一个变量你需要几种可能存在的值,那么就可以被定义成为枚举类型.之所以叫枚举就是说将变量或者叫对象可能存在的情况也可以说是可能的值一一例举出来. 一个铅笔盒中有一支笔,但在没有打开之前你并不知道它是 ...

  10. list去重的四种方式

    L=[1,2,3,3,5,5,5,8,4,6,9,7,2,'a','s','a','e','s','z'] def DelDupli(L):    L1=[]    for i in L:       ...