App Thinning 是苹果提供的一项技术,它可以让 App Store 针对不同设备只分发必要的资源(包括架构切片和动态库)。你可以通过 App Thinning 报告来查看哪些动态库在实际分发中被保留或移除。
查看 App Thinning 报告的步骤
方法一:通过 App Store Connect 查看
上传构建版本:
将你的应用归档(Archive)并上传到 App Store Connect获取 App Thinning 报告:
-登录 App Store Connect
-进入你的应用 → "活动" → 选择相应的版本
-点击"构建版本"旁边的下载按钮(↓)
-选择"下载 App Thinning 报告"分析报告:
-报告会显示针对不同设备变体的应用组成
-查看"Unused Assets"部分会列出未使用的资源(包括可能未使用的动态库)
方法二:本地生成 App Thinning 报告
-
使用 Xcode 导出时生成:
xcodebuild -exportArchive \ -archivePath /path/to/your.xcarchive \ -exportPath /path/to/export \ -exportOptionsPlist /path/to/exportOptions.plist \ -thinForUniversal
-
使用命令行工具:
# 生成特定设备的变体 xcrun app-thinning generate \ --target-device "iPhone12,1" \ --app /path/to/your.ipa \ --output-dir /path/to/output
解读 App Thinning 报告
报告通常包含以下关键信息:
App Variants:针对不同设备/架构的应用变体
On-Demand Resources:按需资源使用情况
Unused Assets:未使用的资源(包括可能未使用的动态库)
Binary Size Details:二进制文件大小明细
动态库相关部分
在报告中,重点关注:
1 "Linked Frameworks":列出所有链接的框架
2."Unused Frameworks":显示未使用的框架(如果有)
3."Framework Sizes":各框架在不同变体中的大小
注意事项
- App Thinning 报告可能需要几小时才能在 App Store Connect 中生成
- 不是所有未使用的动态库都会被标记,有些可能被系统强制加载
- 测试时最好检查多个设备变体的报告
- 某些动态库可能被弱引用(weak linking),即使没有直接使用也会保留
通过分析这些报告,你可以识别出可能不需要的动态库,从而优化应用大小和启动性能。