升级Xcode 13.1后Flutter iOS构建报@available错误无法运行求助
错误核心原因
Xcode 13.1对Swift语法校验规则升级,不再允许带关联值的枚举case使用@available标记做版本限定,你当前使用的3.0.0版本sign_in_with_apple插件的iOS端代码不符合该校验规则,直接导致构建失败。local_auth的警告属于废弃API提示,不影响构建结果。
可执行修复步骤
- 优先选择升级插件版本
在pubspec.yaml中修改sign_in_with_apple的版本约束为^4.0.0,该版本官方已完成Xcode 13+适配。修改完成后执行以下命令重新拉取依赖并构建即可:
如需同步修复flutter clean flutter pub get cd ios rm -rf Pods Podfile.lock pod install --repo-updatelocal_auth的警告,可将该插件版本升级到^2.0.0。 - 临时兼容方案(不建议长期使用)
若因业务原因暂时无法升级sign_in_with_apple大版本,可手动修改本地pub缓存中的插件代码:找到路径.pub-cache/hosted/pub.dartlang.org/sign_in_with_apple-3.0.0/ios/Classes/SignInWithAppleError.swift,删除所有带关联值的枚举case上方的@available(iOS 13.0, macOS 10.15, *)代码行即可通过编译。
内容的提问来源于stack exchange,提问作者Ahmad Majd
相关产品推荐
相关产品推荐

