我在Flutter应用程序中添加了一些iO和Android本机代码。本地调用的函数返回一个布尔值,如下:
Future<bool> get isOn => _channel.invokeMethod('isOn').then<bool>((d) => d);
在Android上,一切正常。在通道的方法调用处理程序中,我返回一个布尔值:
...
case "isAvailable":
{
result.success(myFuncThatReturnsTrueOrFalse());
break;
}
...
在iO上,我有一个类似的处理程序,它始终返回true:
if ([@"isOn" isEqualToString:call.method]) {
result(@(TRUE));
}
但是当我在iO上运行dart isOn函数时,我得到了关于布尔值和整数值的对话的错误,如下所示:
type 'int' is not a subtype of type 'FutureOr<bool>'
我检查了多个插件,它们都以相同的方式执行bool的工作。我在某处缺少什么吗?
我正在运行最新的稳定flutter版本(1.2.1),最新的XCode(10.2.1)和最新的Android Studio(3.4)。
答案 0 :(得分:0)
将@(TRUE)更改为@(YES)即可。