charles怎么抓取xcode xcode7网络请求配置

酷勤网 C 程序员的那点事!
当前位置: >
浏览次数:次
从苹果发明iPhone起,AppStore上的一个又一个类似flappy bird的一夜暴富的故事刺激着大量开发者加入移动开发大军。随着这些开发者出现的,还有大量方便iOS开发者的各种工具。这些工具作为整个应用开发生态链的重要一环,极大地方便了广大应用开发者,节省了应用开发的时间。
本文将从应用工具、命令行工具、插件工具3个方面,介绍这些优秀的应用。
图形应用工具
Charles()是在Mac下常用的截取网络封包的工具,在做iOS开发时,我们为了调试与服务器端的网络通讯协议,常常需要截取网络封包来分析。Charles通过将自己设置成系统的网络访问代理服务器,使得所有的网络访问请求都通过它来完成,从而实现了网络封包的截取和分析。
Charles详细的使用说明,欢迎阅读我的文章:
PonyDebugger()、Reveal()、Spark Inspector()是三个常用的界面调试工具,可以在程序运行时动态调试iOS应用界面。PonyDebugger是免费并且开源的,后两者是收费的,不过功能更加强大。
对于动态或复杂的交互界面,手写UI的是不可避免的,而Reveal一类的工具可以方便我们查看控件的相应属性是否正常,并且可以在程序运行时,动态地修改界面元素。这样就不用反复地修改代码并且重启程序了。
xScope()是一类与界面开发相关的工具集。对于iOS开发,比较好用的功能包括它的放大镜取色工具、标尺工具等。其中放大镜取色工具可以将取到的多个色集收集起来,方便后续使用,并且支持直接粘贴成相关的程序颜色代码。
xScope是收费软件,对于未付费版本,其功能有一些限制。
ImageOptim
ImageOptim()是一个图象压缩的免费工具。iOS工程默认使用的是 pngcrush 命令来压缩图片,不过其压缩比率其实不高。对于应用中图片资源比较多的读者,可以尝试使用 ImageOptim 来达到最大的图片压缩效果。
如果你从未尝试过ImageOptim一类的图片压缩工具,那么第一次给IPA文件瘦身的效果应该是比较惊人的。我个人的经验是,初次使用时ImageOptim能减少至少10%的应用图片资源占用。
ImageOptim的实现原理是使用各种开源的图像压缩工具,然后取效果最好的那一个。它尝试的工具包括:PNGOUT, Zopfli, Pngcrush, AdvPNG, extended OptiPNG, JpegOptim, jpegrescan, jpegtran 和 Gifsicle。
安装方式是从其官方网站()上下载程序文件,拖动到&应用程序&目录即可。下图是本篇文章所有的配图,可以看到使用ImageOptim达到了29.5%的体积缩小。
马克鳗()是国人开发的一款免费标注工具,可以方便地在美术输出的设计稿上标注相应界面元素的大小,颜色,边距,说明等。
命令行工具
每种语言发展到一个阶段,就会出现相应的依赖管理工具或者是中央代码仓库。比如Java的maven,Nodejs的npm等。而CocoaPods()是为iOS程序提供依赖管理的工具。开发iOS项目不可避免地要使用第三方开源库,CocoaPods的出现使得我们可以节省设置和更新第三方开源库的时间。
在我开发猿题库客户端时,其使用了24个第三方开源库。在没有使用CocoaPods以前,我需要:
这些体力活虽然简单,但毫无技术含量并且浪费时间。在使用CocoaPods之后,我只需要将用到的第三方开源库放到一个名为Podfile的文件中,然后执行pod install。CocoaPods就会自动将这些第三方开源库的源码下载下来,并且为我的工程设置好相应的系统依赖和编译参数。
使用CocoaPods还需要注意以下几点:
详细的使用说明,欢迎阅读我的文章:
nomad()是一个方便你操作苹果开发者中心(Apple Developer Center)的命令行工具,可以做的事情包括方便地添加测试设备,更新证书文件,增加App id,验证IAP的凭证等。
安装方式:
安装完后,首先执行ios login,你的Developer账号密码会被它存储到Keychain中,之后就可以用命令行来完成各种后台操作了,例如:
添加测试设备:
更新证书文件:
nomad还有很多功能,建议大家阅读其官方网站的文档进一步学习。
xctool()是facebook开源的一个iOS编译和测试的工具。使用它而不是用Xcode的UI界面是因为它是一个纯命令行工具。比如:我们可以使用xctool在命令生下进行编译和单元测试,然后将测试结果集成到Jenkins中,这样就实现了自动化的持续集成。虽然苹果也在OSX Server上推出了自己的自动化集成工具BOT,但其配置和使用上现在仍然不太方便。
安装xctool可以使用brew命令:
使用xctool编译项目可以使用如下命令:
使用xctool执行单元测试,可以使用如下命令:
xctool还有很多功能,建议大家阅读xctool官方网站的文档进一步了解更多的功能。
appledoc()是一个从源码中抽取文档的工具。
对于开发者来说,文档最好和源码在一起,这样更新起来更加方便和顺手。象Java一类的语言本身就自带javadoc命令,可以从源码中抽取文档。而appledoc就是一个类似javadoc的命令行程序,可以从iOS工程的源代码中抽取相应的注释,生成帮助文档。
相对于其它的文档生成工具,appledoc的优点是:
它默认生成的文档风格和苹果的官方文档是一致的。
appledoc就是用objective-c写的,必要的时候调试和改动也比较方便。
它可以生成docset,并且集成到xcode中。集成之后,在相应的API调用处,按住option再单击就可以调出相关的帮助文档。
它没有特殊的注释要求,兼容性高。
安装appledoc可以直接使用brew命令:
使用时切换到iOS工程目录下,执行以下操作即可,appledoc会扫描当前路径下的所有文件,然后生成好文档放到doc目录下。你也可以用appledoc &help查看所有可用的参数。
详细的使用介绍,欢迎阅读我的文章:
Xcode是iOS的集成开发环境,虽然苹果一直在不断改进Xcode,但程序员总是有各种新奇的想法和需求,当Xcode无法满足他们时,于是他们就会通过插件的方式来为Xcode增加新的功能。本节将会给大家介绍一些常用的Xcode增强插件。
Xcode所有的插件都安装在目录~/Library/Application Support/Developer/Shared/Xcode/Plug-ins/下,每个插件为一个子目录,你也可以手工切换到这个目录来增加或删除插件。
Alcatraz()是管理Xcode所有插件的插件,它可以直接集成到Xcode的图形界面中,让你感觉就像在使用Xcode自带的功能一样。Alcatraz不但可以管理Xcode的插件,它另外还提供了管理Xcode工程模版以及颜色配置的功能。
使用如下的命令行来安装Alcatraz:
安装成功后重启Xcode,就可以在Xcode的顶部菜单中的&Window&&&&Package Manager&中找到Alcatraz。点击&Package Manager&,即可启动插件列表页面。你可以在右上角搜索插件,对于想安装的插件,点击其左边的图标,即可下载安装,如下所示,我正在安装KImageNamed插件:
安装完成后,再次点击插件左边的图标,可以将该插件删除。
以下所有介绍的插件均可用该方法来安装或删掉,就不另行介绍了。
Alcatraz详细的使用介绍,欢迎阅读我的文章:
KSImageNamed
KSImageNamed()是一个帮助你输入[UIImage imageNamed:]中的资源名的插件。当你输入[UIImage imageNamed:]时,会自动的弹出上下文菜单,供你选择你需要输入的图片资源名字,另外在选择图片资源时,还可以在左侧预览该资源。如下图所示:
XVim()是一个Xcode的vim插件,可以在Xcode的编辑窗口中开启vim模式。
vim模式最大的好处是可以全键盘操作,可以方便地移动光标以及复制、粘贴代码。XVim对于Xcode的分栏模式也有很好的支持,与vim自带的分栏模式一样,可以用快捷键ctrl + w来切换当前编辑的分栏。
FuzzyAutocompletePlugin
FuzzyAutocompletePlugin () 允许使用模糊的方式来进行代码自动补全。
举个例子,如果我们要重载viewDidAppear:方法,那么我们必须依次建入view、did、appear 才能得到相应的补全信息,使用FuzzyAutocompletePlugin之后,我们可以建入vda (view、did、appear 三个单词的首字母),或任意符合viewDidAppear整个单词出现顺序的子串(例如 vdapp, adear等),即可匹配到该方法。
XToDo()是一个查找项目中所有的带有TODO,FIXME,???,!!!标记的注释。
通常我们在项目开发中,由于种种原因,一些事情需要以后处理,这个时候为了防止遗忘,加上TODO或FIXME注释是非常有必要的,但是上线或提交代码前要寻找这些未解决的事项却稍显麻烦。XToDo可以提供一个汇总的界面,集中显示所有的未完成的TODO和FIXME标记。
BBUDebuggerTuckAway
BBUDebuggerTuckAway()是一个非常小的工具,可以在你编辑代码的时候自动隐藏底部的调试窗口。因为通常情况下,调试的时候是加断点或监控变量变化,或者在Console窗口用po来输出一些调试信息。如果开始编辑代码了,说明已经调试结束了,这个时候隐藏调试窗口,可以给编辑界面更多空间,方便我们修改代码。
SCXcodeSwitchExpander
SCXcodeSwitchExpander()帮助你迅速地在switch语句中填充枚举类型的每种可能的取值。
例如,当你输入switch,然后键入一个NSTableViewAnimationOptions类时,该插件会将其可能的取值补全在每一个case之后,如下图所示:
deriveddata-exterminator
deriveddata-exterminator()是一个清除Xcode缓存目录的插件。
有些时候Xcode会出各种奇怪的问题,最常见的是在某些复杂操作下(例如同一个项目,来回切换到各种分支版本),会造成Xcode显示一些编译的错误或警告,但是最终却又可以编译通过。新手遇到这种问题常常束手无策,而熟悉Xcode的人就知道,通常清除Xcode缓存就可以解决这类问题。该插件在Xcode菜单上增加了一个清除缓存按钮,可以一键方便地清楚缓存内容。
VVDocumenter
VVDocumenter()是一个自动生成代码注释的工具,可以方便地将函数的参数名和返回值提取出来,这样结合上一节介绍的appledoc命令,就可以方便地将帮助文档输出。
ClangFormat
ClangFormat()是一个自动调整代码风格(Code Style)的工具。Xcode本身的代码缩进自动调整功能比较弱,特别是对于JSON格式,常常产生非常丑陋的默认缩进效果。ClangFormat-Xcode可以更好地对代码进行重新排版,并且内置了各种排版风格,也支持自定义风格。
ColorSense
ColorSense()是一个UIColor颜色输入辅助工具,可以帮助你在编写UIColor代码时,实时预览相应的颜色,如下图所示:
XcodeBoost
XcodeBoost()包含多个辅助修改代码的小功能,比如:
可以在.m文件中复制方法实现,然后将该方法的定义粘贴到对应的.h文件中
可以在某一个源文件中直接输入正则表达式查找
可以复制粘贴代码时不启用Xcode的自动缩进功能(Xcode的自动缩进经常出问题,造成已经调整好的代码缩进,因为粘贴时被Xcode调整坏了)
本文分图形应用工具,命令行工具,Xcode插件三个部分,介绍了iOS开发中好用的工具。其中涉及的图形工具部分是收费的,而命令行工具和Xcode插件工具全部是免费并且开源的工具,笔者在此也感谢广大的开源软件作者,是他们让整个软件生态圈更加美好。
& 相关主题:&&&&Mac Charles Proxy v3.9.2含SN,破解版,抓取手机App的网络包
Mac Charles Proxy v3.9.2含SN,破解版,抓取手机App的网络包
charles proxy for Mac
抓取手机App的网络包
若举报审核通过,可奖励20下载分
被举报人:
举报的资源分:
请选择类型
资源无法下载
资源无法使用
标题与实际内容不符
含有危害国家安全内容
含有反动色情等内容
含广告内容
版权问题,侵犯个人或公司的版权
*详细原因:
VIP下载&&免积分60元/年(1200次)
您可能还需要
移动开发下载排行xcode 怎么安装 charles_百度知道
xcode 怎么安装 charles
我有更好的答案
往往要下载超过12小时之久:国内网盘下载:APP STORE下载,并不推荐。将展开后的左边的APP直接拖到右边的Application文件夹即可使用,直接下载速度快。 鉴于国内速度太慢,数分钟即可下载完成。方法二。下载完成后点击下载后的dmg加载。国内众多网盘(尤其是百度云盘)往往有此类软件的下载完成镜像。找到其中对应的网盘地址,直接进行下载即可方法一
其他类似问题
为您推荐:
xcode的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁7052人阅读
转载自: &/item/8a53eea855cb6289993f.html
之前做Web项目的时候,经常会使用Fiddler(Windows下)、Charles Proxy(Mac下)来抓包,调试一些东西;现在搞Android App开发,有时候也需要分析手机App的网络请求,包括参数、返回值等。在Mac上也是可以继续使用Charles Proxy来抓Android App发出的网络包的,大概的几个步骤:
1、保证手机和Mac连接的是同一个无线局域网
2、在Mac上打开Charles Proxy,菜单栏操作:Proxy→Proxy Setting,检查端口,一般保持默认,HTTP Proxy端口为8888
3、查看Mac当前的IP地址,之后作为手机的Proxy IP用:
4、编辑手机的WIFI连接,长按当前连接的WIFI网络:
5、选择“修改网络”,进入网络连接的编辑模式(选择“显示高级选项”)并保存:
6、这个时候可以在手机App上随意进行一个操作,比如Tieba客户端的一键签到:
7、观察Charles Proxy上的抓包情况:
抓到的数据包显示非常友好,并且可以对已经发出去的请求进行编辑,然后重新发送(模拟请求,并分析结果)。
以上就是一个大概的使用过程,关于这个Charles Proxy,不介绍太多;Windows下,可以使用Fiddler(2/4),默认端口也是8888,当然,你也可以随便改。
另外,附上Charles Proxy For Mac的下载包(附带序列号:给懒人):&
以上,希望也对你有用!
转载自:&/show-2454-1.shtml
&在mac下面,居然没有好的抓包工具,这让我十分纠结,毕竟不可能为了抓一个http包就跑到win下折腾。或许有人说tcpdump这么好的工具,你怎么不用。说实话,tcpdump太复杂了,我还没有细看,再加上不是所见所得,所以,用起来不是那么习惯
又有人说,wireshark怎么不用?好吧,其实我是有装wireshark,只是启动的时候会启动XQuartz,有点慢,当然这不是主要的,而是wireshark功能太强大了,以至于都不会写过滤器。
也有人说,图方便的话,完全可以用chrome自带的抓包工具啊?在没有找到这个工具之前,你可以尝试在地址栏输入:chrome://chrome-urls/,你会发现chrome原来有这么多的隐藏工具,嗯。我要说的就是其中的一个:chrome://net-internals/ ,在Events中,你可以进行过滤,不过,针对https的包,内容没法显示
越来越怀念windows下面,smartsniff完全就是wireshark的简化版,抓起包来刷刷的,过滤数据也很方便。
当然,mac下面的charles就真心不错了,试用了一下,果然对于https的包也能够抓取。
这里有一个简单的教程(实际操作略有出入):
在Mac下做开发,用Fiddler抓包由于离不开Windows比较痛苦,还好有Charles,到官网可下载到最新版本(若不支持rMBP可拖到中把文字变清晰)
打开Charles程序
查看Mac电脑的IP地址,如192.168.1.7
打开iOS设置,进入当前wifi连接,设置HTTP代理Group,将服务器填为上一步中获得的IP,即192.168.1.7,端口填8888
iOS设备打开你要抓包的app进行网络操作
Charles弹出确认框,点击Allow按钮即可
下载Charles证书,解压后导入到iOS设备中(将crt文件作为邮件附件发给自己,再在iOS设备中点击附件即可安装;也可上传至dropbox之类的网盘,通过safari下载安装)
在Charles的工具栏上点击设置按钮,选择Proxy Settings…
切换到SSL选项卡,选中Enable SSL Proxying,别急,选完先别关掉,还有下一步
这一步跟Fiddler不同,Fiddler安装证书后就可以抓HTTPS网址的包了,Charles则麻烦一些,需要在上一步的SSL选项卡的Locations表单填写要抓包的域名和端口,点击Add按钮,在弹出的表单中Host填写域名,比如填,Port填443
接下来就跟HTTP抓包一样了
上文中的一些操作,其实是有点出入的(HTTPS)抓包
1、如果没有设置ssl的话,那么你看到的ssl的接口中,会有一个报错:SSL Proxying not enabled for this host: enable in Proxy Settings, SSL locations,这个时候,在左侧的域名上点右键:enable ssl,就OK了。(其实就是上面的第4部,不过这个操作是简化操作,上面的第4步太麻烦了)
2、如果这样还是不能抓包,那么官方会有一个说明(/documentation/using-charles/ssl-certificates/):
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:1510593次
积分:17911
积分:17911
排名:第318名
原创:411篇
转载:583篇
评论:84条
(4)(4)(3)(4)(12)(4)(17)(9)(5)(11)(7)(22)(3)(12)(38)(32)(20)(5)(17)(35)(10)(24)(15)(8)(28)(13)(11)(28)(26)(20)(43)(55)(13)(14)(25)(12)(19)(37)(64)(29)(31)(7)(30)(12)(45)(19)(17)(23)(8)(11)(36)

我要回帖

更多关于 xcode7.2网络请求配置 的文章

 

随机推荐