我正在尝试使用本教程构建一个 iPhone 框架,但是当我构建我的测试应用程序(将使用构建框架的应用程序)时,它出现了一个错误:
duplicate symbol _objc_unretainedPointer in:
...
8 duplicate symbols for architecture i386
在终端上,我nm
调用了框架的二进制文件,它具有正常可执行文件的符号,包括_main
/ _objc_unretainedPointer
/etc。难怪会出现重复的错误:框架有自己的可执行符号,测试应用程序也有。
我的问题是,框架的正确 Mach-O 类型应该是什么,以便它没有_main
/etc 符号?应该如何将它添加到测试应用程序中?
而且...教程也有错误吗?
我尝试过:我将框架的 Mach-O 类型设置为动态库,它摆脱了_main
/etc 符号并且测试应用程序构建良好,但是当测试应用程序在模拟器上运行时,它有一个dyld: Library not loaded
错误。