如何通过Xcode及开发工具查看iOS 17废弃API列表及自身使用情况?
iOS 17 废弃 API 清单
苹果在iOS 17中针对多个核心框架标记了一批API为废弃状态,以下是常见框架的典型废弃项:
- UIKit:
- 废弃
UIApplicationDelegate中application(_:handleEventsForBackgroundURLSession:completionHandler:)的旧重载,建议使用带NSURLSession参数的新版本; UINavigationBar的setBackgroundImage(_:for:barMetrics:)部分参数组合被标记为废弃,推荐通过UINavigationBarAppearance统一配置导航栏样式。
- 废弃
- Foundation:
- 废弃
NSMutableAttributedString的部分过时addAttributes(_:range:)用法,建议使用符合现代Swift语法的重载; DateFormatter的doesRelativeDateFormatting旧初始化方式被废弃,需改为显式设置该属性。
- 废弃
- CoreLocation:
- 废弃
CLLocationManager的旧权限请求逻辑,建议结合CLAuthorizationStatus的新枚举值判断权限状态后,调用对应的授权方法。
- 废弃
通过Xcode查看项目中iOS 17废弃API的方法
方法一:静态代码分析
- 打开项目后,点击菜单栏的
Product > Analyze,Xcode会对项目进行全量静态扫描; - 扫描完成后切换到
Issue Navigator,在筛选栏选择Deprecated API,即可查看所有使用废弃API的代码位置,同时会标注该API被废弃的iOS版本。
方法二:编译时警告标记
- 进入项目的
Build Settings,搜索Warnings分类下的Deprecated Functions,将其值设置为YES; - 编译项目时,Xcode会在代码编辑器中直接标记废弃API的使用处,同时在控制台输出对应的警告信息。
方法三:代码检查工具
- 选中目标文件或整个项目,右键选择
Inspect > Code Inspection; - 在弹出的面板中勾选
Deprecated API选项,点击Run Inspection,即可生成针对目标范围的废弃API使用报告。
方法四:命令行分析
- 打开终端,进入项目根目录,执行以下命令(替换
YourSchemeName为你的项目Scheme名称):xcodebuild analyze -scheme YourSchemeName -destination 'platform=iOS Simulator,name=iPhone 15' - 命令执行完成后,会生成详细的分析报告,其中包含所有废弃API的使用详情。
内容的提问来源于stack exchange,提问作者lxxyeon
相关产品推荐
相关产品推荐

