我有一個使用很多共享庫的程式可執行檔案。但是,當嘗試在另一臺計算機上下載并運行它時,我收到一條錯誤訊息,指出無法打開程式,因為無法驗證庫。運行它的唯一方法是手動進入系統首選項并允許每個單獨的庫。有什么方法可以驗證庫,以便程式可以正常運行?
uj5u.com熱心網友回復:
庫驗證確保動態加載的庫由簽署主可執行檔案的同一物體簽署。
每蘋果:代碼簽名任務:
程式可以鏈接到在其代碼簽名中與主可執行檔案具有相同團隊識別符號的任何庫,或與任何 Apple 系統庫鏈接。拒絕鏈接到其他庫的請求。
要使庫得到驗證,它們必須以相同的身份進行代碼簽名。根據您的證書型別,您的身份將如下所示:"Developer ID Application: Firstname Lastname (XXXXXXXXXX)" 所需的團隊識別符號是括號中的十個字符代碼。雙引號中的整個字串是所用證書的通用名稱。
codesign -s "Developer ID Application: Doctor Who (1234567890)" path/to/binary
警告:一旦超出庫驗證:macOS 12 將嘗試通過裝訂的公證票或通過在云中的 Apple 服務器上查找票證來驗證團隊身份。沒有公證,您自己的機器沒有問題,因為不需要驗證自我。在 macOS 12 中,默認情況下強制執行公證/沙盒/庫驗證/強化運行時安全方案。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/405175.html
標籤:
