PencilKit中PKInkingTool.InkType.monoline失效,iOS16.2模拟器报错求助
修复PKInkingTool.InkType .monoline报错问题
问题原因
iOS 16.2的SDK中,PKInkingTool.InkType枚举的.monoline成员被官方重命名为.pen,这是Apple对PencilKit API的命名规范调整,导致旧代码在新SDK环境下无法识别该枚举值。
具体修复方案
直接替换枚举值(推荐,若无需兼容旧版本)
将原有代码:@State var pencilStyle: PKInkingTool.InkType = .monoline修改为:
@State var pencilStyle: PKInkingTool.InkType = .pen多版本兼容(需适配iOS 16.2以下版本)
如果项目需要同时支持旧版iOS系统,可使用条件编译做版本判断:@State var pencilStyle: PKInkingTool.InkType = { if #available(iOS 16.2, *) { return .pen } else { return .monoline } }()调整项目部署目标
若项目无需兼容iOS 16.2以下版本,可直接将项目的部署目标版本设置为iOS 16.2,这样就可以统一使用.pen,无需额外兼容代码。
内容的提问来源于stack exchange,提问作者yama_HD
相关产品推荐
相关产品推荐

