静态库在iOS模拟器上出错,适用于iOS设备

Mid*_* MP 6 static-libraries ios ios-simulator

目前我正在开发iOS应用程序(iOS 6),其中我需要实现一个静态库.

我使用本教程成功实现了静态库.我成功地将静态库添加到其他项目并将应用程序安装到iPhone!它运作成功.

但我的问题是当我试图在我的模拟器上运行它时会出现一些错误:

 "_OBJC_CLASS_$_MMPAlert", referenced from:
      objc-class-ref in ViewController.o
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Run Code Online (Sandbox Code Playgroud)

Xcode错误控制台

我添加了目标架构,如:

目标设置

我搜索了很多,但找不到解决方案,为什么我的库在设备上工作并在模拟器上给出错误.

请帮助我,提前谢谢

Toa*_*tor 5

您已经专门为设备架构构建了库.iOS模拟器不是模拟器,这意味着代码需要能够在Mac的架构上运行,这显然不同于您的设备架构.

由于库是预编译的(对于特定的体系结构),因此当您在项目中使用它时,它所包含的代码不会再为当前目标进行编译.这就是为什么您需要首先为两种体系结构构建库.

这个SO答案解释了如何将两个库构建捆绑成一个方便的"胖文件".