iOS框架适用于iPhone 5s、6和6 Plus,但不适用于其他iPhone或iPad模拟器

iOS框架适用于iPhone 5s、6和6 Plus,但不适用于其他iPhone或iPad模拟器,ios,swift,frameworks,Ios,Swift,Frameworks,我使用Swift(只有一个类和一个方法)在Xcode 6.1中创建了一个非常简单的iOS框架,并在测试项目中引用了它。我可以用iphone5s、6和6plus模拟器编译测试项目,但对于所有其他模拟器(iphone4s和5以及所有iPad),我都会遇到以下编译器错误: 有人看到过这个问题吗?谢谢。您必须创建具有多种体系结构的库,以便为模拟器和设备运行 在Xcode中,检查您是否正在为设备构建并将其用于模拟器中的应用程序。 通常,在创建库时,您必须在构建过程中编写一个宏,该宏将生成包含i386、x8

我使用Swift(只有一个类和一个方法)在Xcode 6.1中创建了一个非常简单的iOS框架,并在测试项目中引用了它。我可以用iphone5s、6和6plus模拟器编译测试项目,但对于所有其他模拟器(iphone4s和5以及所有iPad),我都会遇到以下编译器错误:


有人看到过这个问题吗?谢谢。

您必须创建具有多种体系结构的库,以便为模拟器和设备运行
在Xcode中,检查您是否正在为设备构建并将其用于模拟器中的应用程序。
通常,在创建库时,您必须在构建过程中编写一个宏,该宏将生成包含i386、x86、armv7、armv7s、arm64等的FAT库,以便它可以与所有设备和模拟器上的所有iOS版本一起工作。
如果您已经生成了两个库,一个用于模拟器(比如libFirst.a),另一个用于设备(比如libSecond.a),那么命令

lipo -info libFirst.a libSecond.a
打印已创建的库的体系结构


然后使用命令生成FAT库

lipo -create libFirst.a libSecond.a -o libCombined.a
lipo -create libFirst.a libSecond.a -o libCombined.a