none
Certification fail because of API error

    Question

  • Hello,

    I'm trying to publish an app which uses Bing maps to the store.
    When the app starts for the first time Windows automatically asks the user if the app can use location services.

    The app still works without knowing where the user is.
    However, the certification fails because I would be using non-store API's which is not true.
    I haven't referenced anything, these are the only NuGet packages and references:

    It gives the following error (FAILED)

    Supported APIs
        • Error Found: The supported APIs test detected the following errors:
          • API System.Device.Location.GeoCoordinate in SYSTEM.DEVICE, PUBLICKEYTOKEN=B77A5C561934E089 is not supported for this application type. Carambla.Store.exe calls this API.
          • API System.Device.Location.GeoCoordinate.#ctor in SYSTEM.DEVICE, PUBLICKEYTOKEN=B77A5C561934E089 is not supported for this application type. Carambla.Store.exe calls this API.
      • API System.Device.Location.GeoCoordinate.#ctor(System.Double,System.Double) in SYSTEM.DEVICE, PUBLICKEYTOKEN=B77A5C561934E089 is not supported for this application type. Carambla.Store.exe calls this API.
    • Impact if not fixed: Using an API that is not part of the Windows SDK for Windows Store apps violates the Windows Store certification requirements.
    • How to fix: Review the error messages to identify the API that is not part of the Windows SDK for Windows Store apps. Please note, C++ apps that are built in a debug configuration will fail this test even if it only uses APIs from the Windows SDK for Windows Store apps. See the link below for more information:

    I searched the the project along with the referenced projects and none of them even use GeoCoordinate.

    I'm guessing it's the Bing Maps but how do I fix it? I can't remove Bing Maps..

    Wednesday, June 4, 2014 7:43 AM

Answers

  • Okay, turns out System.Device is the culprit.

    I used to work with a converter (but not anymore) that turned my Custom GeoCoordinate format into a regular GeoCoordinate. Since I don't use it anymore I could remove it.

    It's shown in this screenshot (in comment). I removed the converter and unreferenced System.Device, it works now!

    Wednesday, June 4, 2014 8:36 AM