iOS开发工具箱
作者:网络转载 发布时间:[ 2014/12/9 11:41:54 ] 推荐标签:数据 HTTP 传输
Charles
Charles 是一个 HTTP 监视器,它是以 HTTP 代理的方式实现的。作为客户端和服务器通讯的中间人,它可以将 HTTP 传输的数据都展示出来,这给数据调试带来了极大的便利。通常,可以用它来分析第三方库、框架以及其他互联网应用程序的行为。
Charles 同时支持 HTTP 和 HTTPS 两种协议。对于 HTTP 协议,无需额外的设置能看到明文数据,因为 HTTP 协议本身是不对数据加密的。但对于 HTTPS 协议,Charles 默认只是转发 HTTPS 请求,所以你只能看到乱码的加密数据。通过设置,Charles 也支持 HTTPS 协议,其原理是中间人攻击。
有些客户端会通过证书验证,例如 Certificate Pinning,来防止中间人攻击。如果是这样,上面的方法会失效,因为客户端会因为无法匹配证书,导致连接中断。不过,这也是有解决办法的,需要将你的设备越狱,然后给系统底层的 SSL 函数打补丁,SSL Kill Switch 是这样一个开源插件。
这也告诉我们一个事实,虽然 HTTPS 是一个很好的加密层,但关键数据不要用明文传输。
CocoaPods
CocoaPods 是 Objective-C 项目的依赖管理工具。利用它,可以轻松地将第三方库集成到现有项目中。它是建立在操作 Xcode 项目文件的基础上的,它通过一个配置文件来计算依赖,下载第三方库并修改 Xcode 项目文件,比如 .xcworkspace 和 .xcconfig 文件。
CocoaPods 的出现改变了 Objective-C 社区的生态环境,像 RubyGems 之于 Ruby 那样,开发者可以创建自己的 Pod 并把它贡献出来。你只需要在 Podfile 配置文件中指定你需要使用的 Pods,CocoaPods 会帮你处理好依赖关系并设置 Xcode 项目。你无需再像以前那样,手动下载第三方库的源码,然后设置系统 Frameworks 或者编译选项。CocoaPods 会帮你处理好这一切。
xctool
xctool 是由 Facebook 开源的 Objective-C 命令行构建工具,用来代替 Xcode 内建的 xcodebuild。之所以出现 xctool 是因为 xcodebuild 对命令行的支持不够,因为 Xcode 没有把所有构建和测试的逻辑通过 xcodebuild 完全暴露出来,xctool 正好弥补了这些缺点。
创建 xctool 的初衷是为了更好地支持持续集成,后来许多开发者将它用在自己的机器上,用来实现自动化构建和测试等工作。值得一提的是,它还能让测试变得并行,缩短测试的时间。
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11