对 var 'FlutterMethodNotImplemented' 的引用不是并发安全的,因为它涉及共享可变状态

问题描述 投票:0回答:1

我正在使用

SwiftFlutterJailbreakDetectionPlugin
,当我调用方法
result()
并传递
FlutterMethodNotImplemented
时,我收到错误
Reference to var 'FlutterMethodNotImplemented' is not concurrency-safe because it involves shared mutable state

import Flutter
import UIKit
import IOSSecuritySuite
public class SwiftFlutterJailbreakDetectionPlugin: NSObject, FlutterPlugin {
  public static func register(with registrar: FlutterPluginRegistrar) {
    let channel = FlutterMethodChannel(name: "flutter_jailbreak_detection", binaryMessenger: registrar.messenger())
    let instance = SwiftFlutterJailbreakDetectionPlugin()
    registrar.addMethodCallDelegate(instance, channel: channel)
  }

  public func handle(_ call: FlutterMethodCall, result: @escaping FlutterResult) {
        switch call.method {
        case "jailbroken":
            
            let check2 = IOSSecuritySuite.amIJailbroken()
            result(check2)
            break
        case "developerMode":
            result(IOSSecuritySuite.amIRunInEmulator())
            break
        default:
            result(FlutterMethodNotImplemented)
        }
  }
}
swift flutter concurrency jailbreak flutter-method-channel
1个回答
0
投票

使用预并发一致性。这是 Swift 6 的一项新功能。该功能的整体理念是提供一种简单且安全的方法来处理协议隔离不匹配问题。它告诉编译器是的,实际上,我的隔离类型可以符合这个非隔离协议。

导入前使用

@preconcurrency
Flutter
如下所示

@preconcurrency import Flutter 

注意:就我而言,它有效。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.