mono / SkiaSharp

SkiaSharp is a cross-platform 2D graphics API for .NET platforms based on Google's Skia Graphics Library. It provides a comprehensive 2D API that can be used across mobile, server and desktop models to render images.
MIT License
4.51k stars 537 forks source link

SkiaSharp uses unsupported API in UWP application #536

Closed slakul closed 6 years ago

slakul commented 6 years ago

Description

Microsoft Store Application Review fails when using SkiaSharp in version 1.60.1, previous version (1.60.0)worked fine.

Expected Behavior

The application using SkiaSharp should be accepted by Microsoft Store. It worked with 1.60.0.

Actual Behavior

Microsoft Store Application Review result:

Supported API test

FAILED
Supported APIs
Error Found: The supported APIs test detected the following errors:
API _CxxThrowException in vcruntime140.dll is not supported for this application type. libSkiaSharp.dll calls this API.
API __C_specific_handler in vcruntime140.dll is not supported for this application type. libSkiaSharp.dll calls this API.
API __CxxFrameHandler3 in vcruntime140.dll is not supported for this application type. libSkiaSharp.dll calls this API.
API __intrinsic_setjmp in vcruntime140.dll is not supported for this application type. libSkiaSharp.dll calls this API.
API __std_exception_copy in vcruntime140.dll is not supported for this application type. libSkiaSharp.dll calls this API.
API __std_exception_destroy in vcruntime140.dll is not supported for this application type. libSkiaSharp.dll calls this API.
API __std_terminate in vcruntime140.dll is not supported for this application type. libSkiaSharp.dll calls this API.
API __std_type_info_compare in vcruntime140.dll is not supported for this application type. libSkiaSharp.dll calls this API.
API __std_type_info_destroy_list in vcruntime140.dll is not supported for this application type. libSkiaSharp.dll calls this API.
API _purecall in vcruntime140.dll is not supported for this application type. libSkiaSharp.dll calls this API.
API longjmp in vcruntime140.dll is not supported for this application type. libSkiaSharp.dll calls this API.
API memcmp in vcruntime140.dll is not supported for this application type. libSkiaSharp.dll calls this API.
API memcpy in vcruntime140.dll is not supported for this application type. libSkiaSharp.dll calls this API.
API memmove in vcruntime140.dll is not supported for this application type. libSkiaSharp.dll calls this API.
API memset in vcruntime140.dll is not supported for this application type. libSkiaSharp.dll calls this API.
API strchr in vcruntime140.dll is not supported for this application type. libSkiaSharp.dll calls this API.
API strrchr in vcruntime140.dll is not supported for this application type. libSkiaSharp.dll calls this API.
API strstr in vcruntime140.dll is not supported for this application type. libSkiaSharp.dll calls this API.
API ??0?$basic_ios@DU?$char_traits@D@std@@@std@@IAA@XZ in msvcp140.dll is not supported for this application type. libSkiaSharp.dll calls this API.
API ??0?$basic_iostream@DU?$char_traits@D@std@@@std@@QAA@PAV?$basic_streambuf@DU?$char_traits@D@std@@@1@@Z in msvcp140.dll is not supported for this application type. libSkiaSharp.dll calls this API.
API ??0?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAA@XZ in msvcp140.dll is not supported for this application type. libSkiaSharp.dll calls this API.
API ??1?$basic_ios@DU?$char_traits@D@std@@@std@@UAA@XZ in msvcp140.dll is not supported for this application type. libSkiaSharp.dll calls this API.
API ??1?$basic_iostream@DU?$char_traits@D@std@@@std@@UAA@XZ in msvcp140.dll is not supported for this application type. libSkiaSharp.dll calls this API.
API ??1?$basic_streambuf@DU?$char_traits@D@std@@@std@@UAA@XZ in msvcp140.dll is not supported for this application type. libSkiaSharp.dll calls this API.
API ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAAAAV01@AAN@Z in msvcp140.dll is not supported for this application type. libSkiaSharp.dll calls this API.
API ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAAAAV01@_J@Z in msvcp140.dll is not supported for this application type. libSkiaSharp.dll calls this API.
API ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAAAAV01@_K@Z in msvcp140.dll is not supported for this application type. libSkiaSharp.dll calls this API.
API ?_BADOFF@std@@3_JB in msvcp140.dll is not supported for this application type. libSkiaSharp.dll calls this API.
API ?_Lock@?$basic_streambuf@DU?$char_traits@D@std@@@std@@UAAXXZ in msvcp140.dll is not supported for this application type. libSkiaSharp.dll calls this API.
API ?_Pninc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAAPADXZ in msvcp140.dll is not supported for this application type. libSkiaSharp.dll calls this API.
API ?_Unlock@?$basic_streambuf@DU?$char_traits@D@std@@@std@@UAAXXZ in msvcp140.dll is not supported for this application type. libSkiaSharp.dll calls this API.
API ?_Xbad_function_call@std@@YAXXZ in msvcp140.dll is not supported for this application type. libSkiaSharp.dll calls this API.
API ?_Xlength_error@std@@YAXPBD@Z in msvcp140.dll is not supported for this application type. libSkiaSharp.dll calls this API.
API ?classic@locale@std@@SAABV12@XZ in msvcp140.dll is not supported for this application type. libSkiaSharp.dll calls this API.
API ?imbue@?$basic_ios@DU?$char_traits@D@std@@@std@@QAA?AVlocale@2@ABV32@@Z in msvcp140.dll is not supported for this application type. libSkiaSharp.dll calls this API.
API ?imbue@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAAXABVlocale@2@@Z in msvcp140.dll is not supported for this application type. libSkiaSharp.dll calls this API.
API ?setbuf@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAAPAV12@PAD_J@Z in msvcp140.dll is not supported for this application type. libSkiaSharp.dll calls this API.
API ?showmanyc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAA_JXZ in msvcp140.dll is not supported for this application type. libSkiaSharp.dll calls this API.
API ?sync@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAAHXZ in msvcp140.dll is not supported for this application type. libSkiaSharp.dll calls this API.
API ?uflow@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAAHXZ in msvcp140.dll is not supported for this application type. libSkiaSharp.dll calls this API.
API ?xsgetn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAA_JPAD_J@Z in msvcp140.dll is not supported for this application type. libSkiaSharp.dll calls this API.
API ?xsputn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAA_JPBD_J@Z in msvcp140.dll is not supported for this application type. libSkiaSharp.dll calls this API.
API _Query_perf_counter in msvcp140.dll is not supported for this application type. libSkiaSharp.dll calls this API.
API _Query_perf_frequency in msvcp140.dll is not supported for this application type. libSkiaSharp.dll calls this API.

Impact if not fixed: Using an API that is not part of the Windows SDK for Microsoft Store apps violates the Microsoft Store certification requirements. 

Basic Information

mattleibow commented 6 years ago

This looks new... I can't believe that memcpy is an invalid API - this is the basis of all things. :) I also see "...is not supported for this application type.". Is there something different about this app?

Let me have a look...

mattleibow commented 6 years ago

Ok, I can see this error, let me determine the cause and resolution...

mattleibow commented 6 years ago

I found out what happened. During the upgrade of the build system, the incorrect libraries were linked (credits this this SO). I am testing my fix and I will try and get v1.60.2 ASAP.

enghch commented 6 years ago

1.60.2 doesn't seem to be in nuget yet.

kyurkchyan commented 6 years ago

Yeah... having the same issue. Any ideas when 1.60.2 will be out?

EEVblog commented 6 years ago

Same issue, I also need the update :)

mattleibow commented 6 years ago

@slakul @enghch @kyurkchyan @EEVblog I have just pushed out the release and should be available on NuGet. Here are the release notes and all the links: https://github.com/mono/SkiaSharp/releases/tag/v1.60.2