更新xcode16后,flutter项目跑不起来问题修复

问题一: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库删除重新安装修复。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容