我遇到了
dyld: could not load inserted library '/usr/local/lib/dgagent/libpreload.dylib' because no suitable image found. Did find:
file system sandbox blocked open() of '/usr/local/lib/dgagent/libpreload.dylib'
多个应用程序出现错误 - svnX(例如,尝试导入目录时)、SnailSVN(尝试在安装过程中运行测试时)。看起来像这样
file system sandbox blocked open()
因此不是特定于应用程序的,而是我的 Mac 缺少一些设置。
有人遇到同样的问题并找到解决方法吗?
在 10.15 及更高版本中,桌面、文档等文件夹需要“文件和文件夹访问”
设置访问权限的两个步骤:
系统偏好设置>安全和隐私>隐私>完整磁盘访问>“添加您的应用程序,例如svnX”
系统偏好设置>安全和隐私>隐私>文件和文件夹>“添加您的应用程序,例如svnX”
上面理查德·巴伯的评论救了我的命。我也面临这个问题(尽管使用不同的应用程序和不同的库)但本质上是相同的。 Apple 应用程序运行称为沙箱,因此无法访问很多位置。我尝试添加对上述答案中指定的“完整磁盘”和“文件和文件夹”的访问权限。我能够添加“完整磁盘访问”,但“文件和文件夹”在我的相关应用程序(Microsoft Excel)上呈灰色显示。所以,这对我不起作用
最后有效的是获取相关库的整个文件夹(在我的例子中是 mysql odbc 驱动程序)并将其复制到 /Applications/Microsoft Excel.app/Contents/Frameworks/
TL;DR:将有问题的库复制到该应用程序目录中的 Frameworks 文件夹,然后应用程序应该能够访问它
理查德·巴伯的评论是正确的答案。
例如,如果您有一个名为 SomeApp 的应用程序,并且它需要由 Homebrew 安装的库,那么解决方案是
cd /Applications/SomeApp/Contents/Frameworks
ln -s /opt/homebrew/Cellar/some-lib/lib/some.lib.dylib
这将安装应用程序使用的库
如果 SomeApp 被硬编码为使用
/usr/local/lib
那么,您需要执行以下操作
sudo su -
cd /System/Volumes/Preboot/Cryptexes/OS/usr/lib/
cp /opt/homebrew/Cellar/some-lib/lib/some.lib.dylib .
然后,注销,当您重新登录时,应用程序应该可以工作
@Gentle.Zhang 的答案对我有用。我在启动虚幻引擎 5 时遇到问题。
这是 Apple Gatekeeper 在 Hardened 运行时上常见的限制。随着 MacOS catalina 推动公证应用程序,这种情况有所增加。