Xcode 14.3更新后出现条件绑定初始化器类型错误
Xcode 14.3 升级后 Kingfisher 条件绑定编译错误解决方案
错误提示:条件绑定的初始化器必须为可选类型,而非'AnyView'
错误路径:/Users/ankit/Library/Developer/Xcode/DerivedData/ProjectName/dhfelfdsyohhzxfkhlcejfrdx/SourcePackages/checkouts/Kingfisher/Sources/SwiftUI/KFImageRenderer.swift:48:63
解决方法:
升级Kingfisher到兼容版本
Xcode 14.3对SwiftUI的类型检查逻辑做了调整,Kingfisher 7.9.0及以上版本已经修复了这个编译错误。- 若使用Swift Package Manager:在项目的Package依赖配置中,将Kingfisher的版本规则改为
.upToNextMajor(from: "7.9.0")或指定具体版本.exact("7.9.0"),然后重新拉取依赖。 - 若使用CocoaPods:修改Podfile中的依赖为
pod 'Kingfisher', '~> 7.9',执行pod update Kingfisher更新。
- 若使用Swift Package Manager:在项目的Package依赖配置中,将Kingfisher的版本规则改为
临时本地修复(无法升级依赖时)
找到KFImageRenderer.swift的第48行,将原条件绑定代码(类似if let view = AnyView(...))改为直接赋值:let view = AnyView(...)。因为AnyView的初始化返回的是非可选类型,Xcode 14.3不再允许对非可选类型进行条件绑定。
内容的提问来源于stack exchange,提问作者user5345550
相关产品推荐
相关产品推荐

