iOS开发常用之测试调试、动态更新

测试及调试

  • HeapInspector - HeapInspector是一个用于检测应用程序的内存泄漏的开源调试工具。
  • Crashlytics - Crashlytics崩溃报告崩溃日志使用说明
  • UIViewController-Swizzled - 把你进入的每一个控制器的类名打出来,如果看一些特别复杂的项目的时候直接运行demo就可以知道执行次序了。
  • snoop-it -snoop-it比UIViewController-Swizzled好用,代码托管在谷歌上。
  • 版本 - 版本比较小工具。
  • MobileWebPageTest - MobileWebPageTest是用来测试移动网页性能的软件,它可以对页面的加载和渲染过程进行截屏,协助开发者分析出页面性能瓶颈。
  • KKLog - 一个日志管理系统。
  • CleanroomLogger - 相当于CocoaLumberjack或Log4j的Swift版本,功能上甚至更强大。另外,源代码中已经内含了完整的API文档,使用非常方便。
  • Buildasaur - 自动测试框架Buildasaur。
  • 使用Quick框架和Nimble来测试ViewControler - Quick是一个用于创建BDD测试的框架。配合Nimbl,可以为您创建更符合预期目标的测试。
  • fastlane - 一套iOS开发和持续集成的命令行工具fastlane,可以用来快速搭建CI甚至自动提交的开发环境。这套工具中包括上传ipa文件,自动截取多语言截屏,生成推送证书,管理产品证书等一系列实用工具。
  • KIF - 是一个开源的用户界面UI测试框架。使用KIF,并利用iOS中的辅助功能API,你将能够编写模拟用户输入,例如点击,触摸和文本输入,自动化的UI测试。
  • 快速 - 用于Swift中的单元测试(也可用于Objective-C),与Xcode整合在一起。如果你是Objective-C的粉丝,我建议用Specta代替这个,但是对Swift使用者来说,Quick是最佳选择。
  • Sleipnir - Swift的测试框架。
  • kiwi-bdd - TDD或BDD,objective-c语言的测试框架,最流行的BDD测试框架了,Kiwi最受欢迎(根据github上的star数来推断,行为描述和期望写起来也比较易懂,至少我是这么认为的)iOS开发中的测试框架
  • specta - TDD或BDD,objective-c语言的测试框架,用的人多。
  • cedar - TDD或BDD,objective-c语言的测试框架,用的人少。
  • ViewMonitor - 能够帮助iOS开发者们精确的测量视图,可直接在调试应用中查看具体的某个视图的坐标,宽高等参数。
  • MMPlaceHolder - 一行代码显示UIView的位置及相关参数。
  • XXPlaceHolder.swift - MMPlaceHolder的swift版本。
  • KMCGeigerCounter - KMCGeigerCounter通过复杂和简单的视图演示了类似盖革计数器的帧速计算功能。掉帧通常是可见的,但是很难区分55fps和60fps之间的不同,而KMCGeigerCounter可以让你观测到掉掉5帧的情况。
  • SwiftyBeaver - 一个完善的日志工具,支持彩色输出,输出内容到文件,重要性分级,多输出目标。工具执行在后台,不影响性能,可以极大提高开发效率。
  • swiftlog - 为Swift应用提供快捷添加日志信息的方法,Swift包管理支持(SPM),使用惊艳的彩虹包输出彩色日志,支持写入文件。使用swiftlog
  • Log.swift - 灵活,易用,可定制输出格式和主题风格的日志类(Swift),支持控制台彩色输出。
  • Cuckoo.swift - Cuckoo.swift一款用法更接近于传统单元测试Mock框架库(区别之处在于需要用脚本预先生成Mock类)。
  • XCGLogger.swift - XCGLogger.swift功能完整的日志管理类库。
  • MSLeakHunter - 自动检测UIViewController和UIView对象的内存泄露.MLeaksFinder的使用参照
  • CocoaLumberjack - 是一个快速,简单,但很强大的日志框架。
  • CocoaLumberjack - 是一个快速,简单,但很强大的日志框架。
  • ipapy - iOS项目自动打包脚本,并且上传到fir.im,然后发送邮件给测试人员。
  • fbretaincycledetector - Facebook出品,通过运行时监测循环引用。
  • FBMemoryProfiler - Facebook出品,内存检测库。FBMemoryProfiler基础教程
  • FBAllocationTracker - Facebook出品,跟踪oc对象的分配情况。
  • xctool - Facebook出的自动化打包工具,它规范了输出的日志,而且一些错误信息也更清晰一些。
  • Peek.swift - 更友好,手势方式检查界面内组件信息(相当于浏览器元素检查功能),界面调试利器。

========

动态更新

  • waxPatch - 大众点评的屠毅敏同学在基础的基础上写了waxPatch,这个工具的主要原理是通过lua来针对objc的方法进行替换,由于lua本身是解释型语言,可以通过动态下载得到,因此具备了一定的动态部署能力。
  • JSPatch - JSPatch是一个开源项目(Github链接),只需在项目里引入极小的引擎文件,就可以使用JavaScript调用任何Objective-C的原生接口,替换任意Objective-C原生方法。目前主要用于下发JS的脚本替换原生Objective-C代码,实时修复线上bug。官网。(JSPatchX)[ https://github.com/bang590/JSPatchX ] JSPatch的XCode代码补全插件。
  • CTJSBridge - JCTJSBridge:iOS桥接应用程序与h5 web视图进行交互。

========

苹果手表

  • Tesla汽车AppleWatch应用演示 - 通过AppleWatch控制特斯拉汽车,同时可以看到汽车的相关信息,比如剩余电量,可续行里程等,以及解锁/上锁车门,调节司机和乘客的四区域空调温度,开启车辆大灯,定位汽车等。源码推荐说明
  • WatchKit的应用程序 - WatchKit开源小项目示例集锦。是不可多得地学习WatchKit的示例式教程(1.如何创建一个简单的交互式计数器; 2.如何从手表上控制iOS应用程序; 3.如何在WatchKit应用程序和iOS应用之间共享数据; 4,如何创建一个拥有不同背景色的数字时钟; 5,展示不同的UI层; 6,如何创建支持滑动手势的应用程序。
  • KYVoiceCurve - 类似Apple Watch中语音的声音曲线动画。
  • IGInterfaceDataTable - IGInterfaceDataTable是WKInterfaceTable对象的一个​​类别,可以让开发者更简单地配置多维数据。该项目使用类似Apple Watch表格,而不是将数据结构扁平化成为数组。
  • Apple Watch开发教程资料汇总 - Apple Watch开发教程资料汇总。
  • Stargate - 通过iPhone桥接实现Mac与Watch的即时通讯.Stargate通过封装两个优秀的基础类MMWormhole和PeerKit实现高效的通讯应用.-- swift
  • soon - 一款倒计时WatchKit示例应用。作者从架构的角度,思考如何设计一个完整,通讯高效且性能又好的WatchKit扩展应用。该示例学习性非常强.-- swift
  • watchOS-2-Sampler - 基于watchOS 2若干新特性,写了相应的示例代码供大家学习,参考。
  • HMWatch - HMWatch是个有待完善的watchOS 2.0 HomeKit应用示例。
  • CocoaMultipeer - CocoaMultipeer这个开源框架支持OS X,iOS和watchOS设备间的点对点通信,解决watchOS和Mac之间通信的方案还是很有用的。
  • HighstreetWatchApp - 是电商平台Highstreet针对App Watch的一款应用,该演示中加载的是虚拟数据。
  • NKWatchChart - NKWatchChart是一个基于PNChart专门为Apple Watch开发的图表库,目前支持线条,饼图,圆圈和雷达等图表形式。
  • BeijingAirWatch - !国人的开源项目代码WatchOS 2.0实时空气质量的并发症主要为中国城市苹果表盘实时刷新北上广沉蓉空气质量。
  • MMWormhole.swift - MMWormhole.swift:iOS或OS X扩展与宿主应用的通讯框架。
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 220,458评论 6 513
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 94,030评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 166,879评论 0 358
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,278评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,296评论 6 397
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 52,019评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,633评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,541评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 46,068评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,181评论 3 340
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,318评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,991评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,670评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,183评论 0 23
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,302评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,655评论 3 375
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,327评论 2 358

推荐阅读更多精彩内容