【发布时间】:2014-05-07 08:25:26
【问题描述】:
我正在运行一个使用 EAAccessoryManager 的应用程序,它应该只能通过 ExternalAccessory 框架使用。然而,它在没有 ExternalAccessory 包含在要链接的框架列表中的情况下编译和运行。它也不会被任何其他目标加载到 Xcode 中。这怎么可能?我很困惑。
我很好奇,因为我有另一个项目加载了一个静态库,该库也引用了 EAAccessoryManager,在 的情况下,应用程序将无法编译,并以错误 Undefined symbols for architecture i386 退出。这更符合我的期望。造成这种差异的原因是什么?
【问题讨论】:
-
查看静态链接和动态链接的区别,您会找到答案。我敢打赌,一旦进入尝试使用该功能的部分,它就会出现问题。
-
不,应用程序使用 EAAccessoryManager 中的类没有问题,即使 ExternalAccessory 未在要链接的框架中列出。
-
那是奇怪的行为。您必须从比我了解更多的人那里得到答案。
-
工作示例是否在设备上运行?因为不工作的例子听起来像是在模拟器上运行。
-
您能在某处使用新的@import(自动链接/语义导入)功能吗?
标签: ios frameworks linker external-accessory