苹果设计开发加速器《为 iPhone 和 iPad 搭建灵活适配的用户界面》线上活动

受疫情影响,今年设计开发加速器活动改为线上形式,本次参与的活动课题是《为 iPhone 和 iPad 搭建灵活适配的用户界面》,新出的几款 iPhone 和 iPad 设备尺寸和旧设备都不同,造成适配成本增加,本次活动目的是向开发者分享高效而灵活的适配方案。

发布于 技术加油站

心率管家的设计与开发之路(下篇:信号处理)

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

发布于 设计开发

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

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

发布于 技术加油站

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

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

发布于 设计开发

设计一个样式和逻辑分离的 HUD 库

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

发布于 设计开发

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

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

发布于 设计开发

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

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

发布于 解决方案

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 使用链式语法更优雅地管理沙盒文件

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

发布于 设计开发