心率管家的设计与开发(上篇:整体流程)

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

设计开发

整理 iOS 老项目中混乱不堪的多语言翻译

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

技术分享

在 iOS 开发中,如何实现只推迟而不会重复执行的函数

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

技术分享

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

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

技术分享

iOS 接入 Strava 分享模块(上篇:FitSDK)

fit 是一种文件协议,体积小巧,多用于可穿戴设备记录、传输运动与健康数据。官方提供了 C、C++、Java 语言的 SDK 和非常详细的使用文档。因此在 iOS 端接入 fit 就需要在 C 或 C++ 的 SDK 基础上进行一点面向对象的封装。

技术分享

如何封装自己的 iOS Framework 静态库

像工作中使用的第三方SDK基本上都是闭源的,因为公司不能把自己的机密泄露出去。所以当需要给别人提供SDK但不让他们知道代码的实现时就需要封装成静态库。

技术分享

如何从 UIImageView 指定的坐标点取色?

开发中有时候会遇到这样的需求,要给用户一个取色板,让用户从中自由地选取颜色,用来改变主题或者控制灯具的颜色等。这时候我们就需要获取一个视图的指定坐标的颜色值。

技术分享

ObjC 使用链式语法更优雅地管理沙盒文件

假如你需要把一个字典或者别的什么东西保存到沙盒里,你准备怎么做?也许你已经条件反射的想到了操作步骤……其实,你可以不必每次都那么老老实实的把每一步写出来,一行代码就可以了:【路径+保存文件】两个关键点,组成一条链式语法。

设计开发

十万蝼蚁不如一个巨人

Game of Thrones混乱不是深渊。混乱是阶梯。很多人想往上爬 却失败了且永无机会再试。他们坠落而亡。有人本有机会攀爬,但他们拒绝了。他们守着王国不放守着诸神守着爱情尽皆幻想。唯有阶梯是真实存在。攀爬才是生活的全部。台词节选

生活思考

我关于未来的智能生活的畅想

我从小就对「活着」的机械十分着迷,就是我们现在所说的人工智能,当我初次了解到这个概念的时候,就确定了我将奉献一生的事业。 然而梦想很遥远,遥远到我这辈子无法见证《I, Robot》那样的时代。

生活思考