install_name_tool -change /usr/local/lib/testlib.dylib "$TARGET_BUILD_DIR"/../../testlib.dylib "$PRODUCT_NAME"
上面有人告诉我,在 xcode 中放入运行脚本时会改变动态库的查找路径。然后可以通过在终端窗口中输入以下内容来验证这一点
otool -L /drag/the/executable/here/and/its/filepath/will/show/up/testlib
输出将类似于以下内容
/previous/filepath:
/usr/local/lib/testlib.dylib (compatibility version 1.0.0, current version 1.0.0)
./anothertestlib.dylib (compatibility version 1.0.0, current version 1.0.0)
/usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 56.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 169.3.0)
我的问题是为什么 install_name_tool 命令不起作用?现在不是,但当 testlib 项目是客户端项目的目标依赖项时,它确实如此。现在我刚刚将 .dylib 拖到客户端项目中。查找路径保留在 usr/local/lib 中。
还有,什么是usr/local/lib,为什么系统认为我的dylib在里面,它是怎么进去的?