在iPhone 5s或64位模拟器上测试32位iOS应用程序

时间:2014-04-12 03:16:04

标签: ios iphone objective-c xcode

我有一个使用第三方库的应用。 64位版本的库中存在一个错误,因此我不得不恢复到32位版本的框架。我想在5s上测试这个版本,但是从XCode开始,它将尝试构建64位,并且由于这个32位框架,构建将失败。 我需要发布一个版本,但由于我无法在5s或64位模拟器上进行测试,我不愿意这样做。那么有什么方法可以在iPhone上运行应用程序或在64位模拟器上运行它而无需构建64位版本?

配置了iPhone,我用它来测试64位,所以这不是问题。

提前致谢

2 个答案:

答案 0 :(得分:4)

在构建设置中,将Architectures更改为$(ARCHS_STANDARD_32_BIT)

然后为模拟器选择iPhone Retina (4-inch 64-bit)

它将构建一个32位版本的应用程序,但在64位模拟器上运行它。请注意,模拟器在OS X上运行,OS X不再支持32位,因此我们一直在模拟器中的64位硬件上运行32位应用程序。它工作正常,只要你不需要某些类型为64位(例如:当符合64位时,CGFloat精确到更多小数位)。

答案 1 :(得分:0)

我遇到了类似的情况,但情况恰恰相反。我使用Fastlane来获取应用程序的屏幕截图,Fastlane工具只能在模拟器上运行,但是每次都发现:

Undefined symbol(s) for architecture i386

这是因为有一个.a库仅支持x86_64,所以我尝试根据以上答案解决问题。我将Architectures更改为$(ARCHS_STANDARD_64_BIT)

所以我可以在只有64位体系结构的较新模拟器上运行项目!