Unity MacOS notarization - libcurl.dylib: The binary uses an SDK older than the 10.9 SDK

Using Unity 2019.1.8f1 on MacOS 10.13.6 High Sierra

I've been trying to put our app through the MacOS notarization process, so that it doesn't trigger Gatekeeper alerts when downloaded & run on newer versions of MacOS ([https://developer.apple.com/documentation/security/notarizing_your_app_before_distribution/customizing_the_notarization_workflow][1])


Unfortunately, libcurl.dylib gets included in the .app, and causes the notarization process to fail:

"issues": [
    {
      "severity": "error",
      "code": null,
      "path": "<<OurApp>>.app/Contents/MacOS/libcurl.dylib",
      "message": "The binary uses an SDK older than the 10.9 SDK.",
      "docUrl": null,
      "architecture": "x86_64"
    }

I just don't know enough about how Unity decides to include libraries and where it gets them from. I'm wondering two main things:

a) what prompts Unity to include libcurl.dylib? i.e. is it only included due to old references to the WWW class? If I updated to only use UnityWebRequest would this issue be sidestepped?

b) where does this version of the libcurl.dylib file come from, and can I update it to use a newer build of this library somehow?

Any insights appreciated.

Updating to the 2019.2 beta solved the problem. Builds made with 2019.2 seems to have a different internal structure to builds made using 2019.1, and include an entirely different set of dylibs (in different locations also). Once I signed/hardened all these new libraries it passed notarization successfully.

Hi @vanmani

we are using 2019.1 and i am facing issue with notarization for all the library files.

“severity”: “error”,
“code”: null,
“path”: “MyApp.zip/“MyApp”.app/Contents/MacOS/UnityWebRequestTexture.dylib”,
“message”: “The signature does not include a secure timestamp.”,
“docUrl”: null,
“architecture”: “x86_64”