首页 > 解决方案 > XCode 中哪里可以获得位置更新功能?

问题描述

我无法在我的 XCode 中显示/获取“XCode 项目(项目 > 签名和能力 > “+ 能力”按钮)并选择“位置更新”功能。

它在链接中

https://pub.dev/packages/geolocator

在 iOS 上,您需要将以下条目添加到 Info.plist 文件(位于 ios/Runner 下)才能访问设备的位置。只需打开 Info.plist 文件并添加以下内容(确保更新描述,使其在您的应用程序上下文中有意义):

<key>NSLocationWhenInUseUsageDescription</key>
<string>This app needs access to location when open.</string>
<key>NSLocationAlwaysUsageDescription</key>
<string>This app needs access to location when in the background.</string>

如果您想在您的 App 在后台接收更新,您还需要将 Background Modes 功能添加到您的 XCode 项目(Project > Signing and Capabilities > “+ Capability”按钮)并选择 Location Updates。请注意这一点,您需要向 Apple 详细解释为什么在将您的应用程序提交到 AppStore 时您的应用程序需要这样做。如果 Apple 对您的解释不满意,您的 App 将被拒绝。

使用 requestTemporaryFullAccuracy({ purposeKey: "YourPurposeKey"}) 方法时,应将字典添加到 Info.plist 文件中。

<key>NSLocationTemporaryUsageDescriptionDictionary</key>
<dict>
  <key>YourPurposeKey</key>
  <string>The example App requires temporary access to the device&apos;s precise location.</string>
</dict>

第二个密钥(在此示例中称为 YourPurposeKey)应与 requestTemporaryFullAccuracy() 方法中传递的 purposeKey 匹配。可以为应用程序中的不同功能定义多个键。更多信息可以在 Apple 的文档中找到。

注意:第一次请求临时完全准确访问可能需要几秒钟才能显示弹出窗口。这是因为 iOS 正在确定可能需要几秒钟的确切用户位置。不幸的是,这不在我们的掌控之中。

标签: xcodeflutterdartlocationgoogle-geocoder

解决方案


您需要单击+功能,然后选择后台模式,然后选择位置更新 这是所选位置更新的示例


推荐阅读