2

我从这个链接下载了一组私人图书馆。当我点击下载时,我得到了所有框架。所以这些只是头文件,而不是 Xcode 中可用的 .framework 文件。因此,我通过构建阶段的常用方法将它们链接起来,在其中我将二进制文件与库单击 + 并从框架中选择头文件(在我的情况下为首选项框架)。将这些文件添加到我的项目后,我尝试从其中一个库中创建一个对象并尝试调用它们的实例方法。当我尝试执行这个程序时,我得到了这个错误。无论我在设备还是模拟器上运行它,我都会得到这个。

体系结构 i386 的未定义符号:
“_OBJC_CLASS_$_DevicePINController”,引用自:UAViewController.o 中的 objc-class-ref ld:未找到体系结构 i386 的符号 clang:错误:链接器命令失败,退出代码为 1(使用 -v查看调用)

DevicePinController 是私有框架首选项的一部分。我正在尝试使其成为 UA 的对象

编辑:我尝试使用其他框架头文件,如蓝牙,我得到了这个错误。

编辑:我尝试将整个框架添加到项目中,而不是添加单个头文件。现在错误是

d:找不到框架 BluetoothManager clang:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)

4

1 回答 1

1

您需要实际构建框架。您不能只链接头文件;那没有意义。

尝试将 Preferences 文件夹中的所有 .m 文件添加为Compile Sources ,并从Link Binary with Libraries中删除头文件。

补充:我现在意识到这个答案是不正确的。OP 尝试使用的文件不是库,而是来自 Apple 私有框架的头文件。这是一个相关的答案:https ://stackoverflow.com/a/13388225/893113

于 2012-12-19T06:32:40.617 回答