这里每天分享一个 iOS 的新知识,快来关注我吧
这周又淘到几个还不错的 iOS 库和工具,赶紧分享出来。
一共 7 个项目吧,4 个开发库 3 个工具。
行,直接开始。
GitHub:marmelroy/PhoneNumberKit[1]
做过国际化的应该懂,电话号码这玩意儿是真的烦。每个国家格式都不一样,区号长度验证规则全不同。我之前自己写正则,写了半天发现根本搞不定,最后还是老老实实找库。
PhoneNumberKit 是个 Swift 框架,基于 Google 的 libphonenumber。解析、格式化、验证啥都有:
import PhoneNumberKit
let phoneNumberKit = PhoneNumberKit()
do {
let phoneNumber = try phoneNumberKit.parse("+8613812345678")
print(phoneNumber.countryCode) // 86
print(phoneNumber.nationalNumber) // 13812345678
} catch {
print("号码格式不对")
}
let formatted = phoneNumberKit.format(phoneNumber, toType: .international)
// +86 138 1234 5678
涉及注册、联系人这类场景的话,这个库基本是首选了。它还有个 PhoneNumberTextField,自带格式化验证,体验很顺。
5300+ Stars,维护好几年了,生产环境没问题。
GitHub:segmentio/analytics-ios[2]
做 App 的谁没接过几个分析 SDK 啊?Firebase、Mixpanel、Amplitude... 每个都要单独接,代码里埋点逻辑到处都是,维护起来真的烦。

Segment 这个库思路是这样:接一次 SDK,后台配置发到哪些平台。想换工具?改配置就行,代码不用动。
import Segment
let configuration = Configuration(writeKey: "YOUR_WRITE_KEY")
.trackApplicationLifecycleEvents(true)
Analytics.setup(with: configuration)
// 这一行同时发到多个平台
Analytics.shared().track("Item Purchased", properties: [
"item_id": "12345",
"price": 99.9
])
适合要对接多个平台的,或者还没想好用哪个分析服务的团队。
400+ Stars,Segment 官方的。
GitHub:onfido/onfido-ios-sdk[3]
做金融支付的应该知道 KYC。实名认证自己做的话,证件拍照 OCR 人脸比对一堆坑。

Onfido 是专门做身份验证的,SDK 提供完整 UI,用户拍证件照片,自动上传验证。护照身份证驾照都支持。
import Onfido
let config = try OnfidoConfig.builder()
.withSDKToken("YOUR_SDK_TOKEN")
.withDocumentStep()
.withFaceStep(ofVariant: .photo(withConfiguration: nil))
.build()
let onfidoFlow = OnfidoFlow(withConfiguration: config)
.with(responseHandler: { response in
// 处理结果
})
try onfidoFlow.run(from: self)
这是付费服务,适合有预算的商业项目。金融出行类应用可以考虑。
GitHub:shakebugs/shake-ios[4]
崩溃了用户不知道咋反馈,反馈了开发者不知道咋复现——这问题谁没遇到过。
Shake 的思路挺有意思:摇一摇触发反馈,自动收集设备信息、操作日志、网络请求。拿到的不只是"崩溃了"几个字,是完整现场。
#import <Shake/Shake.h>
[SHKShake startWithClientId:@"YOUR_CLIENT_ID"
clientSecret:@"YOUR_CLIENT_SECRET"];
SHKShake.configuration.invokeShakeOnShakeDeviceEvent = YES;
测试阶段收集 Bug 特别方便,测试同学不用写复现步骤了。
还有一个类似的平台叫 InstantBug[5],同样值得推荐。
GitHub:blinksh/blink[6]
iPad 生产力绕不开终端。Blink Shell 是我用过最爽的 iOS 终端,没有之一。
最大亮点是 Mosh 协议。SSH 网络一抖就断,移动网络更明显。Mosh 能在网络切换后自动恢复,终于不用担心断线了。
还有个杀手功能:支持 VSCode 远程开发。iPad 连服务器写代码,体验跟电脑差不多。出差的时候用过几次,真的香。
键盘支持也好,快捷键都能用,配妙控键盘很顺手。
6600+ Stars。App Store 付费,开源版可以自己编译。
GitHub:alienator88/Pearcleaner[7]
Mac 清理之前基本就 CleanMyMac,但太贵。
Pearcleaner 完全免费开源,Swift 原生,界面挺好看。能扫出应用残留的缓存配置日志这些,删应用顺便清干净。
把 App 拖进去,自动扫描相关文件,确认后一键删。还能扫已卸载应用的残留。

这个完成度不容易了。界面不输商业软件,免费没捆绑。
11000+ Stars,增长挺快,口碑不错。
GitHub:gnachman/iTerm2[8]
这个不用多说了吧,Mac 开发必备。
比自带 Terminal 好在:分屏、热键窗口、搜索、自动补全、配置丰富。用了这么多年一直在更新,最近还加了 AI 功能,自然语言生成命令。
17000+ Stars,活跃维护 13 年了。Mac 新用户装完系统第一个装它。
用过这些吗?有啥心得?或者有其他好用的想推荐?评论区聊聊。
PhoneNumberKit: https://github.com/marmelroy/PhoneNumberKit
[2]analytics-ios: https://github.com/segmentio/analytics-ios
[3]onfido-ios-sdk: https://github.com/onfido/onfido-ios-sdk
[4]shake-ios: https://github.com/shakebugs/shake-ios
[5]Instabug-iOS: https://github.com/Instabug/Instabug-iOS
[6]blink: https://github.com/blinksh/blink
[7]Pearcleaner: https://github.com/alienator88/Pearcleaner
[8]iTerm2: https://github.com/gnachman/iTerm2
这里每天分享一个 iOS 的新知识,快来关注我吧