【问题标题】:IOS PhoneGap app rejected by App store becasue of cordova-plugin-geolocation由于cordova-plugin-geolocation,IOS PhoneGap应用被App Store拒绝
【发布时间】:2023-03-10 07:08:01
【问题描述】:

Apple App Store 已拒绝我的应用并发送此消息我们注意到您的应用请求用户同意访问该位置,但未在权限模式警报中说明此功能的使用。

此应用是使用 phonegap 开发的,我们正在使用名为 cordova-plugin-geolocation 的插件访问地理位置。他们还提到苹果可以创建问题&suggest添加以下代码

<edit-config target="NSLocationWhenInUseUsageDescription" file="*Info.plist" mode="merge">
     <string>need location access to find things nearby</string>
</edit-config>

我已经这样添加并重新提交。

<plugin name="cordova-plugin-geolocation" spec="2.4.2" />
<edit-config target="NSLocationWhenInUseUsageDescription" file="*-Info.plist" mode="merge">
    <string>need location access to find things nearby</string>
</edit-config>

但他们发送了相同的反馈。现在我应该怎么做才能解决这个问题?

【问题讨论】:

  • 你也安装了相机插件吗?您使用的是哪个地理定位插件版本?
  • 没有关于相机。插件(cordova-plugin-geolocation)版本是2.4.2
  • 您在 config.xml 中指定了哪个版本的 PhoneGap CLI?语法因版本而异,如下所述:docs.phonegap.com/phonegap-build/configuring/…

标签: ios cordova phonegap-plugins cordova-plugins phonegap-build


【解决方案1】:

使用 PhoneGap Build 这对我有用:

<gap:config-file overwrite="true" parent="NSLocationWhenInUseUsageDescription" platform="ios">
    <string>Your usage description</string>
</gap:config-file>

更好的答案:编辑 (20.04.2018)

更好的解决方案是在 Build 中使用更新的 PhoneGap 版本:

<preference name="android-minSdkVersion" value="15" />
<preference name="phonegap-version" value="cli-7.1.0" />

现在 &lt;edit-config/&gt; 标签将被 Build 识别。

【讨论】:

    【解决方案2】:

    问题是您使用的是旧版本的插件,它仍然使用变量作为使用说明,并且变量正在用空值(默认值)覆盖 edit-config 标记值

    你有两个选择:

    1. 将地理定位插件更新到 3.0.0 或更高版本,并像现在一样使用edit-config 标签。

    2. 设置Phonegap Build的使用说明。

    要设置 Phonegap Build 的使用说明,您必须这样做:

    <plugin name="cordova-plugin-geolocation" spec="2.4.2">
       <param name="GEOLOCATION_USAGE_DESCRIPTION" value="I want to find stores nearby" />
    </plugin>
    

    如果您有 &lt;preference name='phonegap-version' value='cli-7.0.1' /&gt; 或更新版本(或者如果您没有设置任何 phonegap-version 因为它将使用最新版本作为默认设置),这应该可以工作

    【讨论】:

      【解决方案3】:

      如果 NSLocationWhenInUseUsageDescription 键确实存在于 Info.plist 中,请检查由 cordova 生成的 xcode 项目。有时会发生 cordova build 没有正确复制插件配置,我不得不手动编写它们。

      【讨论】:

      • 我使用phonegap开发了它。如何从我的 phonegap 帐户中查看?
      • 我以为你离线使用了phonegap。我不认为您可以在您的帐户中访问 xcode 项目。试试这个解决方案:stackoverflow.com/a/33647501/1206360
      • 谢谢。我也检查了那个链接。我在 config.xml 中使用上面的代码添加这个插件。根据他们的指南,我还没有找到从 github repo 添加此版本的任何选项。
      • 这是phonegap,不是cordova。
      • Phonegap 和 Cordova 基本上是一回事。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-28
      相关资源
      最近更新 更多