在Mac上的iOS模拟器运行i386架构,而不是armv7?

我有一些静态库,我已经build立在armv7架构上使用。 当我尝试在iphone 5.0模拟器上运行的iOS项目中使用它们时,出现错误,告诉我有关静态库中的undefined symbols for architecture i386

所以我想这意味着iphone模拟器希望为i386编译库? 那么模拟器的重点是什么?为什么它不能模仿armv7架构呢?

所以我可以testing我的静态库的唯一方法是连接一个物理iOS设备并运行它?

还是我错了?

所以我想这意味着iphone模拟器希望为i386编译库? 那么模拟器的重点是什么?为什么它不能模仿armv7架构呢?

你已经回答了你自己的问题。 这是一个模拟器 ,而不是一个模拟器 。 因此它是一个运行在i386架构上的Mac OSX程序。 如果你为i386编译你的静态库,你也可以在模拟器上使用它们。

我不是很确定,但是i386模拟器,armv7是连接到你的机器的设备。

您实际上可以通过使用i386架构的Xcode命令行工具来编译应用程序(也可以通过修改构build设置在Xcode UI中运行它)。

 xcodebuild -sdk iphonesimulator6.1 -arch i386 VALID_ARCHS="i386 armv7 armv7s" clean install 

在您拥有projectName.xcodeproj文件的目录中运行此命令。

这是一个脚本的分解:

 -sdk iphonesimulator6.1 // Build the app on iPhone simulator 6.1 -arch i386 // Build your app using i386 architecture VALID_ARCHS="i386 armv7 armv7s" // Specify these architectures are valid clean install // Clean all the builds then re-build and install 

如果你想尝试模拟器与i386只是去= <iPhone 5的。