我正在尝试在 MacOS Mojave 上运行基于 Eclipse(Oomph 2018.12)的应用程序,但由于缺少代码签名而无法加载 libswt-cocoa
,因此无法运行:
/Users/myuser/.swt/lib/macosx/x86_64/libswt-cocoa-4919.jnilib: dlopen(/Users/myuser/.swt/lib/macosx/x86_64/libswt-cocoa-4919.jnilib, 1): no suitable image found. Did find:
/Users/myuser/.swt/lib/macosx/x86_64/libswt-cocoa-4919.jnilib: code signature in (/Users/myuser/.swt/lib/macosx/x86_64/libswt-cocoa-4919.jnilib) not valid for use in process using Library Validation: mapped file has no cdhash, completely unsigned? Code has to be at least ad-hoc signed.
我尝试临时签署文件,然后收到不同的错误消息:
/Users/myuser/.swt/lib/macosx/x86_64/libswt-cocoa-4919.jnilib: code signature in (/Users/myuser/.swt/lib/macosx/x86_64/libswt-cocoa-4919.jnilib) not valid for use in process using Library Validation: mapped file has no Team ID and is not a platform binary (signed with custom identity or adhoc?)
理想情况下,我不想签署它,因为它不是我的文件。有没有办法在 MacOS 上禁用 SWT 库的库验证?如果没有,我怎样才能正确签名?谢谢。
最佳答案
检查代码签名是 Gatekeeper 的一个功能
$ sudo spctl --status
$ sudo spctl --master-disable
$ sudo spctl --master-enable
检查状态,分别禁用和重新启用。
参见 Technical Note TN2206如果您决定走那条路,请获取有关代码签名的信息。
关于MacOS 上的 Eclipse : SWT lib code signature not valid for use in process using Library Validation,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57500344/