Flutter-geolocator: 在“CLLocation *”类型的对象上找不到属性“speedAccuracy”

创建于 2020-11-04  ·  9评论  ·  资料来源: Baseflow/flutter-geolocator

🐛 错误报告

位置管理器.m

if (@available(iOS 10.0, *)) { speedAccuracy = location.speedAccuracy; }

预期行为

繁殖步骤

配置

版本: 6.1.4

平台:

  • [ ] :iphone: iOS
  • []:机器人:安卓

最有用的评论

感谢@mvanbeusekom的支持!

所有9条评论

@viirak ,不确定您的问题是什么,您提供的信息不是很有帮助。

根据 Apple 的文档speedAccuracy属性自 iOS 10.0+ 起可用(因此是 if 语句)。 我已经在多个版本的 iOS 上测试了该插件,并且似乎都可以正常工作。 代码也编译得很好。 你能提供更多信息吗?

更新lib后我有同样的错误:

geolocator: ^6.1.4 geocoding: ^1.0.5

颤振版本:

通道稳定,1.22.3

问题是:

`正在运行Xcode构建...
Xcode 构建完成。 24,5s
无法构建 iOS 应用程序
Xcode 构建的错误输出:

* 构建失败 *

Xcode 的输出:

/Library/Flutter/flutter/.pub-cache/hosted/pub.dartlang.org/geolocator-6.1.4/ios/Classes/Utils/LocationMapper.m:20:34:错误:在对象上找不到属性“speedAccuracy” 'CLLocation *' 类型
speedAccuracy = location.speedAccuracy;
^
产生了 1 个错误。
注意:使用新的构建系统
注意:规划构建
注意:构建构建描述
警告:将架构 armv7 映射到 i386。 确保为 iOS 模拟器平台正确配置了此目标的架构和有效架构构建设置。 (在项目“Pods”的目标“in_app_purchase”中)
警告:将架构 arm64 映射到 x86_64。 确保为 iOS 模拟器平台正确配置了此目标的架构和有效架构构建设置。 (在项目“Pods”的目标“in_app_purchase”中)

无法为模拟器构建应用程序。
在 iPhone 11 Pro Max 上启动应用程序时出错。`

谢谢

我安装了最新的软件包,即地理定位器:^6.1.4。
我能够使用它来获取我在 android 设备上的当前位置,但是一旦我运行了 iOS 模拟器,我就会收到以下错误:

_在调试模式下在 iPhone 11 Pro Max 上启动 lib/main.dart...
库/主。 飞镖:1
Xcode 构建完成。 12.7s
无法构建 iOS 应用程序
Xcode 构建的错误输出:

* 构建失败 *
Xcode 的输出:

/Users/mac/Developer/flutter/.pub-cache/hosted/pub.dartlang.org/geolocator-6.1.4/ios/Classes/Utils/LocationMapper.m:20:34:错误:未找到属性“speedAccuracy” 'CLLocation *' 类型的对象
speedAccuracy = location.speedAccuracy;
^
产生了 1 个错误。
注意:使用新的构建系统
注意:规划构建
注意:构建构建描述
无法为模拟器构建应用程序。
在 iPhone 11 Pro Max 上启动应用程序时出错。
退出 (sigterm)_

这是我的环境;
_Flutter 1.22.3 • 频道稳定 • https://github.com/flutter/flutter.git
框架 • 修订版 8874f21e79(6 天前) • 2020-10-29 14:14:35 -0700
引擎 • 修订版 a1440ca392
工具 • Dart 2.10.3_

这里有点不解,请问你安装的是哪个版本的Xcode?

我的 xcode 版本是版本 11.3.1 (11C504)

我在“版本 12.1 (12A7403)”上,我会尝试降级,看看是否是问题所在。

我可以确认这个问题与 Xcode 的版本有关。 我已经安装了 11.3.1 版,现在也收到了这个问题。 在 Xcode 12.1 版上编译时不会发生此问题。

我会尝试弄清楚是否有解决方法,请与我联系。 目前可能的解决方法是:

  • 降级到 6.1.3 版 geolocator 插件
  • 或将您的 Xcode 升级到 12.1 版

@viirak@retuner87@GwamakaCharles ,我刚刚发布了地理定位器插件的修补程序(版本 6.1.4+1),应该可以解决这个问题。 只需运行flutter pug update命令(或更新 pubspec.yaml 中的地理定位器版本)即可使用此版本。

感谢您的举报。

感谢@mvanbeusekom的支持!

此页面是否有帮助?
0 / 5 - 0 等级