install_name_tool没有做任何改变?

Ken*_*nny 4 macos sdk xcode cocoa install-name-tool

我的应用程序需要加载硬件制造商提供的dylib。在 dylib 上使用 otool 会产生以下输出:

$otool -L harwdware.2.dylib 
hardware.2.dylib:
    @executable_path/../Addittional/hardware.2.dylib (compatibility version 3.0.0, current version 3.0.0)
    /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1213.0.0)
    /System/Library/Frameworks/IOKit.framework/Versions/A/IOKit (compatibility version 1.0.0, current version 275.0.0)
    /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 1153.18.0)
    /usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 120.0.0)
Run Code Online (Sandbox Code Playgroud)

我想将@executable_path/../Additional/更改为@executable_path/../Frameworks/,它实际上更短,所以它应该适合。但是当我跑步时:

install_name_tool -change @executable_path/../Addittional/hardware.2.dylib @executable_path/../Frameworks/hardware.2.dylib hardware.2.dylib
Run Code Online (Sandbox Code Playgroud)

然后什么也没有发生,没有任何变化,otool 的输出与以前相同。

我哪里错了?

Ken*_*nny 5

感谢@trojanfoe,正确的命令行是:

install_name_tool -id "@executable_path/../Frameworks/hardware.2.dylib"  hardware.2.dylib
Run Code Online (Sandbox Code Playgroud)