Uploaded image for project: 'Apache Cordova'
  1. Apache Cordova
  2. CB-10845

Location permission lost for Windows Phone 8.1

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • None
    • None
    • Windows Phone 8.1

    Description

      After updating to the latest Cordova versions (cordova-cli 6.0.0, cordova-windows 4.3.1, cordova-plugin-geolocation 2.1.0), the location capability is missing from the appxmanifest file.

      In the platforms/windows folder, the file "package.windows.appxmanifest" contains the following region:
      <Capabilities>
      <Capability Name="internetClient" />
      <DeviceCapability Name="location" />
      </Capabilities>

      The file "package.phone.appxmanifest", which seems to be relevant when building for the ARM platform, is missing the location entry:
      <Capabilities>
      <Capability Name="internetClientServer" />
      </Capabilities>

      I don't know whether this is a bug in the geolocation plugin (which should add the permission) or in the windows platform. I was able to fix the problem for me by extending the plugin.xml of the geolocation plugin and adding:

      <config-file target="package.phone.appxmanifest" parent="/Package/Capabilities">
      <DeviceCapability Name="location" />
      </config-file>

      This seems to be a bug because the existing extra with target="package.appxmanifest" works for the file package.windows.appxmanifest but not for package.phone.appxmanifest.

      Edit: The build target was "Windows Phone (Universal)" from Visual Studio 2015, which results in creating an app package with the following name: "CordovaApp.Phone_<version>_arm.appxupload

      Attachments

        Activity

          People

            vladimir.kotikov Vladimir Kotikov
            tss Steffen Schaffert
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: