我已经构建了一些静态库,用于armv7架构。当我尝试在我在iphone 5.0模拟器上测试的iOS项目中使用它们时,我在静态库中告诉我有关undefined symbols for architecture i386
的错误。
所以我猜这意味着iphone模拟器需要为i386编译的库?那么模拟器有什么意义 - 为什么它不能模拟armv7架构呢?
因此,我可以测试静态库的唯一方法是连接物理iOS设备并运行它吗?
或者我弄错了?
答案 0 :(得分:27)
所以我猜这意味着iphone模拟器需要编译库 对于i386?那么模拟器有什么意义 - 为什么不这样做呢 仿效armv7架构?
你已经回答了自己的问题。它是模拟器,而不是模拟器。因此它是一个运行在i386架构上的Mac OSX程序。如果您为i386编译静态库,您也可以在模拟器上使用它们。
答案 1 :(得分:9)
我不太确定, i386 适用于模拟器而 armv7 适用于您已连接的设备到你的机器。
答案 2 :(得分:4)
您实际上可以使用i386架构通过Xcode命令行工具编译应用程序(还有一种方法可以通过修改构建设置在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
答案 3 :(得分:0)
如果您想尝试使用i386的模拟器,请转到=< iPhone 5。