DCloud_App_Array
DCloud_App_Array
  • 发布:2015-01-20 20:32
  • 更新:2020-05-22 18:01
  • 阅读:141390

Safari调试iOS应用

分类:HTML5+

HBuilder对前端代码的调试方式有边改边看、真机运行、webkit remote debug真机调试3种。
系列文章目录导航:

Safari调试iOS手机概述

对于HTML5的开发,大家都知道Chrome的DevTools工具有强大的功能和友好的用户体验,不仅能快速方便调试JavaScript、检查HTML页面DOM结构、实时同步更新元素CSS样式,还能跟踪分析页面资源加载性能等问题。
对于移动平台的开发者来说,从iOS5.0开始,也可以通过Safari的Web Inspector工具连接设备对应用进行调试。

调试效果如图所示:
iOS 调试效果图

我们有2种方式,一种是使用xcode iOS模拟器,一种是使用iPhone、iPad、iTouch等真实设备。
如果使用xcode模拟器,可以直接使用safari的控制台debug。
如果使用真机,由于iOS有签名校验机制,正式包不允许safari debug,所以安装在真机上的包必须是测试签名打的包。此时参考如下步骤:

真机调试环境

准备环境

  • Mac OS 10.9以上系统。无论使用模拟器还是真机,由于safari只有mac版本,所以必须配备mac电脑。
  • xcode iOS模拟器
  • 如果使用真实手机debug,还需要:
  • 苹果开发者账号,申请苹果开发证书(Certificates)和描述文件(Provisoning Profiles)
  • iOS5.0以上设备(iPhone、iPad、iTouch均可)

申请开发证书和描述文件

参考iOS证书(.p12)和描述文件(.mobileprovision)申请

使用HBuilder App云端打包获取调试安装包

在HBuilder中选中要调试的应用,在菜单中选择“发行”->“App打包”,打开“App云端打包”界面:
iOS App云端打包
正确配置生成调试包的参数

  • AppID:苹果开发者中心申请的应用标识,必须与申请描述文件时选择的一致
  • 私钥证书:苹果开发者中心申请的Development证书,必须是p12格式证书
  • 私钥密码:导入苹果开发者证书的密码,在导出成p12证书时设置
  • pfofile文件:苹果开发者中心申请的描述文件

提交App云端打包成功后可获取ipa安装包:

使用iTunes或iTools工具安装ipa到设备

开启iOS设备的调试功能

打开“设置”程序,进入“Safari”->“高级”页面开启“Web检查器”:

启动上一步安装的应用,并将设备连接到Mac电脑

模拟器调试环境

使用模拟器调测更为方便。

准备环境

  • Mac OS 10.9以上系统
  • XCode6.0以上程序

安装XCode程序

在Safari中打开XCode下载页面
可以选择通过App Store,按提示一步步安装:

或者可以下载Beta版本dmg文件,在Finder中双击dmg文件按提示一步步安装:

HBuilder中启动模拟器运行

HBuilder中选中要调试的应用,在Mac OS上安装好XCode后会自动检测支持的iOS模拟器。
在菜单中选择“运行”->"手机运行"->"iOS模拟器运行":

或者通过“真机运行”图标打开:

在列表中选择要运行的模拟器后,会自动启动iOS模拟器并运行要调试的应用:

使用Safari调试

打开“开发者”菜单

运行Safari,点击“Safari”菜单下面的“偏好设置(Preferences...)”,切换到“高级选项(Advanced)”:

勾选“在菜单栏显示"开发"菜单(Show Develop menu in menu bar)”,关闭偏好设置。
此时在Safari的工具栏出现“开发(Develop)”菜单:

真机设备连接调试

如果是真机点击“开发(Develop)”弹出菜单会出现设备名称项,进入后显示设备上所有打开的“HTML页面”列表:

点击“HTML页面”列表中的项即可打开Web Inspector调试界面

模拟器连接调试

如果是真机点击“开发(Develop)”弹出菜单会出现“iOS Simulator”项,进入后显示模拟器上所有打开的“HTML页面”列表:

点击“HTML页面”列表中的项即可打开Web Inspector调试界面

Web Inspector调试

打开Web Inspector界面后,即可调试JavaScript、检查HTML页面DOM结构、实时同步更新元素CSS样式等操作:
iOS 调试效果图
可通过以下方式切换“DOM树(DOM Tree)”和“源码(Source Code)”方式显示页面:

在“源码(Source Code)”模式可在页面左侧添加断点进行调试。

7 关注 分享
kaiven Nation ___K Charles 超人爷爷 Trust diken

要回复文章请先登录注册

dongjie

dongjie

回复 503633985@qq.com :
我的也检测不到设备,你的解决了吗?有mac真机调试
2016-12-01 21:28
770579166@qq.com

770579166@qq.com

xcode下载并安装了 还是检测不到模拟器
2016-09-08 16:45
503633985@qq.com

503633985@qq.com

回复 lhyh :
前面说了 safari 检测不到设备
2016-07-20 11:57
lhyh

lhyh

回复 503633985@qq.com :
嗯谢谢,我在网上下到了Xcode,然后考进虚拟机了。最近折腾完发现,其实在windows下,只要安装HB中的IOS链接插件,就可以直接在苹果手机上运行程序了,只是好像无法调试
2016-07-20 10:50
503633985@qq.com

503633985@qq.com

回复 lhyh :
你可能需要VPN等翻墙工具 进行尝试下载
2016-07-20 09:50
lhyh

lhyh

回复 503633985@qq.com :
经过一系列痛苦的尝试,用虚拟机Mac实现了在safari中调试单个页面,有兴趣可以私信交流下,需要的软件资源我都有。唯一不足的是无法下载Xcode,网络一直下不下来,所以模拟器调试没做到。
2016-06-29 10:15
503633985@qq.com

503633985@qq.com

回复 lhyh :
试了下好像检测不到设备 ,装个虚拟机苹果MAC 不知道能检测 不
2016-06-29 10:09
lhyh

lhyh

实在弄不到Mac,但是safari有windows版的,可用否……
2016-06-15 13:32
夜影森林

夜影森林

Safari调试iOS手时机有个BUG:在当前页面链接中有#参数时,在Safari web检查器中刷新后得不到plus对象,没有#参数时可以。

经过分析,解决方案如下:
在有#参数页面需要调试时,打开Safari web检查器后,不要点刷新按钮,先在控制台执行脚本刷新页面,如:location.href='?'+Math.random(),然后再点检查器上的刷新按钮,即可得到plus对象正常调试。
2016-05-14 13:38