开发ios调试,mac开发ios app 真机调试

iOS调试Webview

HTML、JS、CSS的Web三件套,时下占据了项目的主要业务部分,原生和JS的交互必不可少,下面总结iOS调试Webview的两种方法:

站在用户的角度思考问题,与客户深入沟通,找到金沙网站设计与金沙网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:成都网站制作、网站建设、企业官网、英文网站、手机端网站、网站推广、域名注册雅安服务器托管、企业邮箱。业务覆盖金沙地区。

1.在手机设置里,找到Safair浏览器,在高级里启用Web检查器;

2.Mac上Safair浏览器,在偏好设置高级选项底部勾选“在菜单栏中显示开发菜单”;

3.手机连接Xcode工程,操作App跳转到JS页面,点击Mac上的Safair浏览器,在开发选项下拉菜单中,找到手机名称对应的html页面即可进入调试器;

( 参考链接 )

1.使用brew安装 ios-webkit-debug-proxy

brew install ios-webkit-debug-proxy

若上面的命令不有效,尝试下面的命令安装

brew uninstall --force libimobiledevice ios-webkit-debug-proxy

brew install --HEAD libimobiledevice ios-webkit-debug-proxy

2.安装成功后,在终端输入下面的命令

ios_webkit_debug_proxy -f chrome-devtools://devtools/bundled/inspector.html

若有问题,报错Could not connect to lockdownd. Exiting.: Permission denied,可输入下面的命令,再次尝试

sudo chmod -R 777 /var/db/lockdown/

3.保持终端命令连接状态,在chrome浏览器中打开 localhost:9221 ,点击真机选项;

4.操作App跳转到JS页面,下面两种方式均可进入调试器:

(1)在Mac的chrome中刷新页面,选中要打开的html连接,右键点击“复制链接地址”,新建标签页,在地址栏粘贴地址,按enter键进入;

(2)直接在谷歌浏览器地址栏中输入 chrome://inspect/#devices ,点击Target下方的inspect进入;

备注:

(1)手机上也要安装谷歌浏览器,否则终端可能无法连接到真机;

(2)复制JS页面地址时,不要用cmd+c快捷键,要右键单击“复制链接地址”,然后新建标签页,粘贴地址打开;

总结:

两种浏览器相比较,虽然Safair调试器打开方便,但容易卡住,有时无法查看JS的变量值,甚至打断点会闪退,建议使用Google Chrome浏览器调试方法。

iOS开发 升级iOS15后,真机调试卡在启动页

部分手机升级iOS15之后,真机调试的时候,卡在启动页几分钟没反应,手动运行手机的运用又是正常的,在这种情况下,需要重新设置一下:

1、删除~/Library/Developer/Xcode/iOS DeviceSupport/该目录下所有文件。

2、选择Xcode-Window-Devices and Simulators,鼠标右键点击真机设备,选择Unpair Device;

3、重新启动Xcode。

上述步骤做完如果还是不行,升级Xcode,并重新执行上述操作。

iOS13调试Safari和WKWebView中的页面

新版系统想要通过连数据线直接调试Safari或者App中的Web页面遇到了困难,在Mac上的Safari “开发” 菜单中无法识别到手机。

经过尝试,还是有方法使得 “开发” 菜单中显示当前连接的手机的。步骤如下:

此时 Mac Safari 的 “开发” 菜单中就已经能识别该手机,并且可以开始调试相关页面了。

此方法需要注意,数据线必须保持连接着手机,否则调试会中断。

iOS混合开发 vConsole调试控制台不显示

在开发中,难免遇到原生嵌套H5页面的需求,那么vConsole调试控制台 对于前端开发的同学就变得尤为重要,但是有时候vConsole控制台并不会在页面显示,遇到这种情况 我们只需项目允许http协议请求。

在info.plist里面增加 App Transport Security Settings 属性,再在此属性内增加 Allow Arbitrary Loads ,并设置值未YES。

此时再重新运行项目就可以看到vConsole调试控制台了

Safari调试

# Safari 断点调试—iOS

iOS 系统内置 WebView 与 Safari 浏览器内核相同,我们可在 OSX 系统中,通过 Safari 浏览器开发者工具,向调试普通网页一样,调试真机中运行的网页。

## 准备工作

1. AppleID,拥有 **App 发布证书**的开发者帐号

2. 能运行 Safari 浏览器的 OSX 系统

3. iOS 系统真机

4. 可调试的 App 包

## 注册设备

在[苹果开发者网站][apple_dev_site]向公司的证书中注册需要调试的 iOS 设备

1. 在[苹果开发者网站][apple_dev_site]登录拥有证书的 AppleID

2. 进入证书管理界面

![开发者网站证书管理]

3. 管理证书中的设备

![开发者网站证书设备管理]

4. 通过 iOS 设备的 UDID 向证书注册该调试设备

![证书中注册设备]

## 开发者模式

iOS 与 OSX 中的 Safari 默认都不会开启开发者模式,需要分别启用

1. 开启 OSX 中 Safari 浏览器的开发者模式

![打开 OSX safari 开发]

2. 在 iOS 设备的设置界面,开启 Safari 浏览器开发功能

## 生成调试包

### 通过 XCode 生成调试包

在Xcode中选择需要打包的项目, Archives 工程项目

导出 ipa 时选择第四个选项 “save for development Deployment”,则导出的 ipa 为调试包

## 调试网页

完成以上步骤(证书注册、开发模式、调试包)后,就可调试 iOS 设备调试中的网页了

OSX 中 Safari 浏览器调试指定页面(手机屏幕变蓝表示是手机当前的 html 页面)

## 基本功能

以上一切的准备,都是为了实现,实时调试 iOS 设备中的网页,操作没有什么不同。

## 断点调试,查看元素模型等

IOS内存怎么优化调试

IOS内存优化调试的方法

基础部分

1: 图片内存大小小结

a: 图片:是占用内存的大户,尤其是手机游戏图片资源众多。对图片资源在内存中占用量的计算成为J2ME游戏开发者的经常性工作,CoCoMo来解释一下如何计算图片在内存中的占用量:内存占用量=宽*高*像素字节数,其中像素字节数因机型而异。

例如一张64*64的图片在7210上的内存占用量=64*64*1.5=6144(字节)=6K、在S60上的内存占用量=64*64*2=8192 (字节)=8K。像素字节数因机型而异,例如 7210是4096色机型,也就是说用12位来表示一个像素,所以乘上1.5,而S60是65536色的机型,用16位来表示一个像素,所以乘上2。

b:Xcode中使用instruments 查看图片内存的问题

如果使用的是模拟器那么默认是小屏幕的,所以最大图片是1024 *1024 * 4 = 4 M (1024 是图片的宽高, 4表示的是图片的存储类型为4字节的。也就是 RGBA8888)

如果你加载了图片那么就是使用了4M的内存。如果你需要渲染那么还需要4M的内存。

加载一般都是 **load (NSString *)filename ,

渲染一般都是 Node addChild (Node)

2: 引用计数问题

引用计数增加的情况 : a: alloc 对象会使得对象引用数 +1

b:调用retain (具体细说一些实例如下)

-比如你是cocos2d用户的会看到 addchild 会使子节点的引用计数+1

-CCArray 的addObject 也会使元素的引用计数+1

总结一下就是: 凡是添加到结合中的元素或者子节点不需要再去retain ,只需要在建立的时候调用release

减少的情况 : 调用release 使引用计数 -1(具体细说一些实例如下)

- 集合调用remove/removeChildByTag 等等变形的

- 创建的时候调用autorelease 。注意:如果你的对象是局部对象,而且创建的时候使用的是autorelease,

那么在离开方法的时候如果你没有retain 那么这个对象将被dealloc(引用计数-1了)


本文题目:开发ios调试,mac开发ios app 真机调试
文章路径:http://ybzwz.com/article/dscsgcp.html