Skip to the content.

iOS 编码标准

按:

在整理编码标准时,找到一篇 vokal.io 的相关文档:iOS Team Coding Standards(包含在同级目录),发现他们的文档和我们目前的书写习惯重合度极高,因此直接汉化了该文档,再增减了一些和我们目前的习惯有冲突的地方,就酱~

该文档中的标准涵盖了 iOS,macOS,watchOS 和 tvOS 开发工作。

Swift 开发前往 👉 Swift 编码标准


Musts

代码样式

命名准则

变量

AppDelegate 的用法

除了与 AppDelegate 相关的事件(启动 App、关闭 App 并响应 UIApplicationDelegate 消息等)以外,请勿将 AppDelegate 类用于其他用途。工具方法和全局变量,和 AppDelegate 无关,应将其放在相关的类、类别、扩展中。如有必要,可以统一在(除 AppDelegate 外的)特定的类或单例或其他上下文中,声明全局变量/常量。

本地化

对于用户可见的字符串,始终使用 NSLocalizedString 相关方法。即使您的项目从未本地化,NSLocalizedString 带来的好处,也超过了它所需的键入成本。更多说明参考 NSLocalizedstring(NSHipster)

文档

脚本

iOS 项目中使用的任何 Shell 脚本都必须符合 Vokal’s Shell Script Standards(vokal.io),包括但不限于运行脚本构建阶段中包含的 Shell 脚本。

Shoulds

代码结构

签名和配置文件

在每个目标的构建设置中,代码签名身份应始终是通用的,例如“iPhone Developer”和“Automatic”。这允许构建服务器在构建时选择正确的证书和密钥钥匙串。

我们使用了 fastlane match 做签名相关管理,详情查阅相关文档。