我在Xcode中构建了一个非常简单的Cocoa Framework,用于iOS设备(不是模拟器)。我将此框架放入另一个构建静态库的项目中。当我构建这个静态库时,它成功而没有错误。没问题。
现在: 我有一个实际的iOS应用程序项目,其中包含静态库项目作为子项目。
当我尝试构建这个应用程序时,我得到'找不到架构的符号'错误,这个错误与我在cocoa框架中定义的两个类有关:
我已经确认它确实是为终端中的armv7和arm64构建的:
Kevins-MBP-2:ASI.framework kevin$ lipo -info ASI
Architectures in the fat file: ASI are: armv7 arm64
唯一的方法能够成功实现此构建,如果我还将我的cocoa框架放入iOS应用程序项目中,另外就可以了已存在于我的静态库项目中。我觉得我不应该在两个项目中都有框架。只有静态库实际使用框架。 iOS应用程序项目不需要了解框架。
答案 0 :(得分:1)
静态库不包含依赖库,因此每当您链接到静态库时,您需要将它们使用的依赖库提供给链接器。
基本上,您确实需要将可执行文件链接到此Cocoa框架,如您在问题的最后一句中所述。