由于cordova插件地理位置,应用商店拒绝了IOS PhoneGap应用

由于cordova插件地理位置,应用商店拒绝了IOS PhoneGap应用,ios,cordova,phonegap-plugins,cordova-plugins,phonegap-build,Ios,Cordova,Phonegap Plugins,Cordova Plugins,Phonegap Build,Apple App store已拒绝我的应用并发送此消息我们注意到,您的应用请求用户同意访问该位置,但未在权限模式警报中说明此功能的使用情况。 此应用程序是使用phonegap开发的&我们正在使用名为cordova plugin geolocation的插件访问地理位置。他们还提到苹果会制造问题&添加以下代码 <edit-config target="NSLocationWhenInUseUsageDescription" file="*Info.plist" mode="merge"&g

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

此应用程序是使用phonegap开发的&我们正在使用名为cordova plugin geolocation的插件访问地理位置。他们还提到苹果会制造问题&添加以下代码

<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>

需要位置访问才能找到附近的东西

但他们也发出了同样的反馈。现在,我该如何解决这个问题呢?

如果Info.plist中确实存在
nslocationwhenUsageDescription
键,请检入cordova生成的xcode项目。有时,cordova build没有正确复制插件配置,我不得不手工编写插件配置


如果Info.plist中确实存在
nslocationwhenUsageDescription
键,请检入cordova生成的xcode项目。有时,cordova build没有正确复制插件配置,我不得不手工编写插件配置


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

您有两个选择:

  • 将地理位置插件更新为3.0.0或更高版本,并像现在一样使用
    edit config
    标记

  • 设置Phonegap生成的使用说明

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

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

    如果您有
    或更新版本(或者您没有设置任何phonegap版本,因为它将使用最新版本作为默认版本)

    问题是您使用的插件的旧版本仍然使用变量作为使用说明,变量将用空值(默认值)覆盖
    编辑配置
    标记值

    您有两个选择:

  • 将地理位置插件更新为3.0.0或更高版本,并像现在一样使用
    edit config
    标记

  • 设置Phonegap生成的使用说明

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

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

    如果您有
    或更新版本(或者您没有设置任何phonegap版本,因为它将使用最新版本作为默认版本)

    使用phonegap Build,则此功能应该可以使用。此功能适用于我:

    <gap:config-file overwrite="true" parent="NSLocationWhenInUseUsageDescription" platform="ios">
        <string>Your usage description</string>
    </gap:config-file>
    
    
    您的使用说明
    
    更好的答案:编辑(20.04.2018)

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

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

    现在,Build将识别
    标记。

    对于PhoneGap Build,这对我很有用:

    <gap:config-file overwrite="true" parent="NSLocationWhenInUseUsageDescription" platform="ios">
        <string>Your usage description</string>
    </gap:config-file>
    
    
    您的使用说明
    
    更好的答案:编辑(20.04.2018)

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

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

    现在,
    标记将被Build识别。

    我使用phonegap开发了它。如何从我的phonegap帐户检查?我以为你离线使用了phonegap。我认为您不能在您的帐户中访问xcode项目。试试这个解决方案:谢谢。我也检查了这个链接。我在config.xml中使用上面的代码添加这个插件。根据他们的指导方针,我没有从github repo找到任何添加此版本的选项。这是phonegap,而不是cordova。phonegap和cordova基本上是一样的。我使用phonegap开发了它。如何从我的phonegap帐户检查?我以为你离线使用了phonegap。我认为您不能在您的帐户中访问xcode项目。试试这个解决方案:谢谢。我也检查了这个链接。我在config.xml中使用上面的代码添加这个插件。根据他们的指导方针,我没有从github repo找到任何添加此版本的选项。这是phonegap,而不是cordova。phonegap和cordova基本上是一样的。您是否也安装了摄像头插件?您使用的是哪个地理定位插件版本?没有关于相机的。插件(cordova插件地理位置)版本为2.4.2您在config.xml中指定的PhoneGap CLI的哪个版本?语法因版本而异,如下所述:您是否也安装了摄像头插件?您使用的是哪个地理定位插件版本?没有关于相机的。插件(cordova插件地理位置)版本为2.4.2您在config.xml中指定的PhoneGap CLI的哪个版本?语法因版本而异,如下所述: