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