iOS 调试动态库的工具

iOS tools for debugging dynamic libraries

我想了解动态链接在 iOS 8 上的工作原理,并希望在应用程序启动时打印已解析库的位置。有什么工具可以做到这一点吗?在找不到 dylib 时的崩溃报告中有一些关于搜索路径的信息,但我无法在非崩溃执行中找到此信息。

具体来说,我正在尝试了解一个有效但我认为不会的场景:

该应用程序 没有 有任何嵌入式二进制文件 (General -> Embedded Binaries),并且 没有 将框架作为一个包嵌入资源(Build Phases -> Copy Bundle Resources)。

在生成的 Bar.app 文件夹中有一个 Frameworks 目录,但它不包含 Foo,并且 Foo 不包含在 [=15] 中的其他任何地方=].我看不出 Foo 是如何解决的,因为框架是嵌入式的,应该不可用?

我找到了我要找的东西,正如 Apple 在一个名为 Technical Note TN2239 iOS Debugging Magic. In this document there is a section describing various environment variables 的文档中所记录的那样,可以设置它会强制动态链接器写出有用的调试信息。

在 Xcode (Edit Scheme -> Run -> Arguments -> Environment Variables) 中设置这些变量后,我得到了有关链接器解析的方式和内容的详细信息。