在iPhone 5s或64位模拟器上测试32位iOS应用程序
我有一个使用第三方库的应用程序。在64位版本的库中有一个bug,所以我不得不恢复到32位版本的框架。我想在5s上测试这个版本,但在XCode中它将尝试构建64位,由于这个32位框架,构建将失败。 我需要发布一个版本,但由于我无法在5s或64位模拟器上进行测试,我不愿意这样做。那么,有没有办法在iPhone上安装应用程序,或者在64位模拟器上运行应用程序,而不必构建64位版本 iPhone是配置好的,我用它来测试64位,所以这不是问题在iPhone 5s或64位模拟器上测试32位iOS应用程序,ios,iphone,objective-c,xcode,Ios,Iphone,Objective C,Xcode,我有一个使用第三方库的应用程序。在64位版本的库中有一个bug,所以我不得不恢复到32位版本的框架。我想在5s上测试这个版本,但在XCode中它将尝试构建64位,由于这个32位框架,构建将失败。 我需要发布一个版本,但由于我无法在5s或64位模拟器上进行测试,我不愿意这样做。那么,有没有办法在iPhone上安装应用程序,或者在64位模拟器上运行应用程序,而不必构建64位版本 iPhone是配置好的,我用它来测试64位,所以这不是问题 提前感谢在构建设置中,将架构更改为$(ARCHS\u标准\u
提前感谢在构建设置中,将
架构更改为$(ARCHS\u标准\u 32位)
然后为模拟器选择iPhone视网膜(4英寸64位)
它将构建32位版本的应用程序,但在64位模拟器上运行。请注意,模拟器在OS X上运行,OS X不再支持32位,因此我们一直在模拟器的64位硬件上运行32位应用程序。它可以正常工作,只要您不需要将某些类型设置为64位(例如:当编译为64位时,CGFloat可以精确到更多的小数位数)。我遇到过类似的情况,但情况正好相反。我使用Fastlane获取应用程序屏幕截图,Fastlane工具只能在模拟器上运行,但我每次都发现:
Undefined symbol(s) for architecture i386
这是因为有一个。一个库只支持x86\u 64
,所以我尝试根据上面的答案来解决这个问题。我将架构更改为$(ARCHS\u标准\u 64\u位)
因此我可以在只有64位体系结构的较新模拟器上运行该项目您应该能够在64位模拟器上运行它。我可以在真正的5s和模拟器上运行32位的应用程序。看看:我一直在努力让它在XCode 5.5.1中工作,但没有成功。我试图让我的32位应用程序在5s或64位模拟器上运行,但我仍然收到64位链接器错误。我已经在目标和项目部分将架构更改为$(ARCHS_STANDARD_32_位),但它仍然尝试使用64位编译器。有什么想法吗?你把$(ARCHS_标准)改成$(ARCHS_标准\u 32_位)了吗?还是两者都有?因为您只需要$(ARCHS_标准_32_位)就可以工作。这就是我错的地方。