求助 mac 手动签名 app(codesign)

我用QT开发的程序,再mac上编译出了app,对app程序进行签名公证,目前有一步骤出现了问题,求助。

我的app里面包含了jar包,目前app里面的其他的签名都通过了公证,只有这个jar包一直通不过。

错误提示如下:

    {
      "severity": "error",
      "code": null,
      "path": "transfer_mac_0.0.3.48.dmg/transfer.app/Contents/MacOS/fdt-qt.jar/org/lirc/socket/libjunixsocket.jnilib",
      "message": "The binary is not signed.",
      "docUrl": null,
      "architecture": "x86_64"
    },
    {
      "severity": "error",
      "code": null,
      "path": "transfer_mac_0.0.3.48.dmg/transfer.app/Contents/MacOS/fdt-qt.jar/org/lirc/socket/libjunixsocket.jnilib",
      "message": "The signature does not include a secure timestamp.",
      "docUrl": null,
      "architecture": "x86_64"
    }
jar明明已经是个binary,Not a directory,怎么再对jar包里面的jinlib包进行签名?求各位大神指教。

原来可以对jar解压操作的,搞定哈哈

根据错误提示,需要对org/lirc/socket/libjunixsocket.jnilib这个文件进行签名。这个文件是一个JNI库文件,用于与操作系统进行交互。一般情况下,我们可以使用Mac系统自带的codesign工具对JNI库文件进行签名。
举个例子:
1、打开终端应用程序。
2、使用以下命令导航到应用程序包的目录: cd /path/to/your/app/Contents/MacOS/fdt-qt.jar/org/lirc/socket/
3、使用以下命令对libjunixsocket.jnilib文件进行签名:codesign -s "Your Developer ID" -f --deep libjunixsocket.jnilib 请将 "Your Developer ID" 替换为你的开发者ID
4、签名后,你可以使用以下命令验证签名:codesign -vvvv libjunixsocket.jnilib 如果签名正确,将会显示 "valid on disk"。
5、最后,重新生成应用程序包,并重新进行签名公证即可。

注意:请注意,在进行签名操作之前,要确保拥有适当的签名证书和开发者ID,并且你的证书已经与你的Mac开发者账户关联。