问题一:url_launcher库报错 'UIApplication' does not conform to protocol 'Launcher'
找到报错位置,修复
completionHandler completion: ((Bool) -> Void)?)
更改为
completionHandler completion: (@MainActor @Sendable (Bool) -> Void)?)
问题二:flutter_inappwebview库报错Ambiguous use of 'evaluateJavaScript(_:completionHandler:)'
问题修复
可以通过升级flutter_inappwebview库版本解决,目前查看三方库官方更新记录6.1.0版本已经修复了。
因为我的flutter版本和dart版本没有升级,所以这个办法不行,只能通过修改源码解决。
找到三方库的报错文件代码位置
修改前
public override func evaluateJavaScript(_ javaScriptString: String, completionHandler: ((Any?, Error?) -> Void)? = nil) {
if let applePayAPIEnabled = settings?.applePayAPIEnabled, applePayAPIEnabled {
if let completionHandler = completionHandler {
completionHandler(nil, nil)
}
return
}
super.evaluateJavaScript(javaScriptString, completionHandler: completionHandler)
}
修改后
public override func evaluateJavaScript(_ javaScriptString: String, completionHandler: (@MainActor @Sendable (Any?, (any Error)?) -> Void)? = nil) {
if let applePayAPIEnabled = settings?.applePayAPIEnabled, applePayAPIEnabled {
if let completionHandler = completionHandler {
completionHandler(nil, nil)
}
return
}
super.evaluateJavaScript(javaScriptString, completionHandler: completionHandler)
}
问题三:有个扫描二维码库报错Command CompileSwift failed with a nonzero exit code
在项目中搜索关键词CommonCrypto,如果有Pod依赖这个头文件,在podfile中移除掉这个Pod库,重新执行pod install. 最后我搜索到了SDWebimage库有,所以将pod库删除重新安装修复。