- Home /
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)
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.
Further update: libcurl.dylib is included even into empty projects, and similarly causes the notarization process to fail. At this point I guess it's worth trying the 2019.2 beta to see if this includes a newer build of libcurl.dylib...
Answer by vanmani · Jul 09, 2019 at 11:56 PM
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
I am facing issue with unity library files
"severity": "error", "code": null, "path": "$$anonymous$$yAppzip/$$anonymous$$yApp.app/Contents/$$anonymous$$acOS/UnityWebRequestTexture.dylib", "message": "The signature does not include a secure timestamp.", "docUrl": null, "architecture": "x86_64"
Can you please help
Thanks Sri
Answer by srilakshmim · Oct 09, 2019 at 02:21 PM
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"
You need to add the --timestamp flag when you're signing. See https://developer.apple.com/documentation/security/notarizing_your_app_before_distribution/resolving_common_notarization_issues
Hi @vanmani Not just timestamp, its not signing the inner library files. If i try signing them by going to the app, it is giving error . I getting this error for all the library files of unity.
"severity": "error", "code": null, "path": "DO$$anonymous$$ain.zip/DO$$anonymous$$ain.app/Contents/$$anonymous$$acOS/UnityAnalytics.dylib", "message": "The binary is not signed.", "docUrl": null, "architecture": "x86_64"