我正在运行一个使用EAAccessoryManager的应用程序,该应用程序只能通过ExternalAccessory框架使用。然而,它编译并运行时没有将ExternalAccessory包含在要链接的框架列表中。它也不会被任何其他目标加载到Xcode中。这怎么可能?我很神秘。
我很好奇,因为我有另一个项目加载一个也引用EAAccessoryManager的静态库,而在那个情况下,应用程序不会编译,退出时会出现错误{ {1}}。这更符合我的期望。什么可以解释差异?
答案 0 :(得分:0)
可以是链接器构建设置而不是链接构建阶段。
答案 1 :(得分:0)
在“构建设置”的“Apple LLVM 5.1 - 语言 - 模块”部分中,“自动链接框架”已启用:
这是我在阅读this post on @import
时发现之前从未注意到的新功能(感谢@RhythmicFistman提示!)。当我将该设置更改为“否”时,我得到了我期望的链接器错误。