如何使用手机摄像头测量心率

在心率管家默默无闻地上线了一年多之后,现在终于打算来好好聊聊关于手机摄像头测量心率的那些事。本文参考了很多前辈的文章,将在文末列出。

静态博客使用 Issues API 发布动态、友链、书签

由于发布 issue 的成本远远低于发布一次博客更新(即便是使用了持续集成),可以用 issue 来简化每个独立博客都必备的友链系统,也可以通过 issue 来快速发布动态资讯,弥补静态博客必须更新静态文件才能更新内容的缺点。此功能已经集成到了主题中,使用非常方便。

苹果设计开发加速器《创建卓越的 Apple Watch 体验》活动体验

9月26号收到了苹果的一活动邀请邮件《创建卓越的 Apple Watch 体验》,活动地点是:Design and Development Accelerator,这是苹果今年7月份在上海设立的设计开发加速器,为开发者提供有关应用设计与开发的专业培训和资源。

使用链式语法打造一个对象类型转换库

我就职过的公司,都出现过不止一次因为后台实际数据类型和文档不一致导致的程序线上崩溃问题。原则上即使服务器离线了,app 都不应该直接闪退,所以 app 应当具有对服务器异常情况进行处理的能力。使用 ValueX 可以有效避免后台返回数据类型异常导致的程序崩溃。

如何设计一个样式和逻辑分离的组件

简单易用,完全可定制化的 HUD
ProHUD = Toast(通知横幅) + Alert(ProgressHUD、弹窗) + ActionSheet(操作表)

在写「ProHUD」之前我已经在「AXKit」中实现了原生控件快速构造方法、为公司写了 ObjC 版的可定制化 HUD、Swift 版的开源的 NoticeBoard(通知横幅)。ProHUD 诞生的意义就在于取代这些不那么完善的 HUD。

心率管家 App 的设计与开发流程

近期开发并上架了新版心率管家 App(仅 iOS 端),专业版不定期限免,欢迎下载体验。本文将从设计、开发、上架等每个步骤和细节进行分享,也包含部分模块源码。

Inspire:Swift 语言的 UI 开发工具包

包含颜色、字体、布局等,可配置可缓存,非常适合独立开发者。

iOS 组件化、模块化与路由方案探索

我们公司养老业务线使用的组件化方案是 CTMediator ,而我在此之前没有了解过相关方案,借此机会学习 CTMediator 以及相关解耦措施。

iOS 常见内存泄漏及解决方案

内存泄漏是开发中经常会遇到和需要处理的问题,如:循环引用、僵尸对象和野指针、大循环内存峰值。

使用 NoticeBoard 迅捷而优雅地发布通知

此项目已经停止维护,请使用功能更强大的 ProHUD

iOS 使用 CocoaAsyncSocket 进行通信

网络由下往上分为:物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。

IP协议对应于网络层,TCP协议对应于传输层,HTTP协议对应于应用层,三者从本质上来说没有可比性,Socket则是对TCP/IP协议的封装和应用。也可以说,TPC/IP协议是传输层协议,主要解决数据如何在网络中传输,而HTTP是应用层协议,主要解决如何包装数据。

CocoaAsyncSocket是一个十分好用的异步Socket库,本文将以CocoaAsyncSocket作为工具进行网络通信的操作,Demo源码链接在文章末尾。

Runtime 知识点和应用梳理归纳

ObjC是一门运行时语言,了解Runtime机制对于ObjC开发者来说至关重要。

RunLoop 知识点和应用梳理归纳

本文将从RunLoop的作用、几种Mode、和线程的关系、应用方面进行梳理归纳。

整理混乱不堪的各国语言翻译

linksmart项目截止目前已经支持了17个国家的语言,从诞生到现在也已经经历了很多程序员的修改和维护,代码已经变得十分混乱。因为公司一直在接新的定制项目,所以也没有时间进行一次彻底的重构,只能在维护某方面的BUG的时候,对相关代码进行局部重构。

iOS 推迟而不重复执行函数

如果你想推迟执行一段代码,使用 dispatch_after 函数可以轻易实现,但有时候我们想在它delay的期间再次delay,直到最终不再delay的时候,才真正的被调用一次。这就需要每次先将旧的事件取消,然后重新设置delay。

AXChartView:一个简单而漂亮的图表工具类

使用 appledoc 生成 API 文档

appledoc 是个十分强大的工具,能生成和 Apple 一个风格的文档,功能齐全,使用方便,还可以直接编译成 docset 安装进 Xcode。

一次特别的直播:iOS 项目框架的搭建

公司开展了一个新的活动,每周四下午的技术直播,就是传说中的直播敲代码,刚好又准备开始做新项目,所以第一个周四直播主题就是搭建项目框架。

iOS 接入 Strava 分享模块(下篇:StravaSDK)

StravaKit 是一个比较新而且代码比较规范的第三方SDK,但是目前还没有上传功能(详见 todo) 。所以我不得已对 StravaKit 0.9.5 增加上传功能,并进行一些简单封装和改编,使之能够植入到公司项目中。由于时间有限,我只增加了上传fit文件的功能,并且使用了第三方框架 Alamofire,所以需要在项目中导入 Alamofire

使用 Alamofire 框架上传文件

Alamofire 是一个在GitHub上star数已超过24k的网络库。