You are on the right track.
This is because OS X "install_name"writes to the library when it is created. This sort_name is then copied to any application that references it.
The "best" way to solve the problem is to change the source of the framework so that the layout flag is install_nameset when creating the framework.
, , , autoconf, . install_name_tool -id, install_name .
, , ?
@executable_path/../Frameworks/Foo.framework/Foo ( )
, , Foo.framework:
install_name_tool -id @executable_path/../Frameworks/Foo.framework/Foo Foo.framework/Foo
@executable_path . , Copy Files Framework .
install_name_tool -change, _ , , . .