简体   繁体   English

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

[英]Testing 32 bit iOS app on iPhone 5s or 64 bit simulator

I have an app that uses a third party library. 我有一个使用第三方库的应用程序。 There is a bug in the 64 bit version of the library so I had to revert to the 32 bit version of the framework. 库的64位版本中存在一个错误,因此我不得不恢复到该框架的32位版本。 I would like to test this release on a 5s but from XCode it will try to build in 64 bit and because of this 32 bit framework the build will fail. 我想在5s上测试此版本,但是从XCode它将尝试以64位构建,并且由于此32位框架,构建将失败。 I need to release a version but since I'm unable to test on the 5s or 64 bit simulator I'm reluctant to do so. 我需要发布一个版本,但是由于我无法在5s或64位模拟器上进行测试,因此我不愿意这样做。 So it there any way to get the app on the iPhone or run it on the 64 bit simulator without having to build the 64 bit version? 因此,是否有任何方法可以在iPhone上获取应用程序或在64位模拟器上运行它而无需构建64位版本?

The iPhone is provisioned and I've used it for testing the 64 bit so it is not an issue. iPhone已配置完毕,我已将其用于测试64位,因此这不是问题。

Thanks in advance 提前致谢

In Build Settings, change Architectures to $(ARCHS_STANDARD_32_BIT) . 在“构建设置”中,将“ Architectures ”更改为$(ARCHS_STANDARD_32_BIT)

Then choose iPhone Retina (4-inch 64-bit) for the simulator. 然后为模拟器选择iPhone Retina (4-inch 64-bit)

It will build a 32 bit version of your app but run it on the 64 bit simulator. 它将构建您应用程序的32位版本,但可以在64位模拟器上运行。 Note that the simulator is running on OS X and OS X doesn't support 32 bit anymore, so we have always been running 32 bit apps on 64 bit hardware in the simulator. 请注意,模拟器正在OS X上运行,而OS X不再支持32位,因此我们一直在模拟器中的64位硬件上运行32位应用程序。 It works fine, as long as you don't need some types to be 64 bit (eg: CGFloat is accurate to significantly more decimal places when complied for 64 bit). 只要您不需要某些类型为64位的类型,它就可以正常工作(例如:当编译为64位时,CGFloat可以精确到小数点后的位数)。

I have met the similar situation but the opposite side.I use Fastlane to get app screen capture, Fastlane tool only can run on simulators,but I found every time: 我遇到了类似的情况,但情况恰恰相反。我使用Fastlane来获取应用程序屏幕截图,Fastlane工具只能在模拟器上运行,但每次都发现:

Undefined symbol(s) for architecture i386

This is because there is a .a library only support x86_64 ,So I tried to solve the problem according to the above answer.I changed Architectures to $(ARCHS_STANDARD_64_BIT) . 这是因为有一个.a库仅支持x86_64 ,所以我尝试根据以上答案解决问题。我将Architectures更改为$(ARCHS_STANDARD_64_BIT)

So I can run the project on the newer simulators with only 64 bit architecture! 因此,我可以在只有64位体系结构的较新模拟器上运行该项目!

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 在 iPhone 5s 64 位上运行 32 位库 - Run 32 bit library on iPhone 5s 64 bit 32位应用程序可以在64位iPhone 5S上运行吗? - Could the app that's 32 bit run on 64 bit, iPhone 5S? Xcode不将Phonegap应用程序部署到64位模拟器或Iphone 5s - Xcode Not Deploying Phonegap App To 64bit Simulator Or Iphone 5s AVPlayer无法在iPhone 5s 64bit iOS 7.0.3上运行 - AVPlayer not working on iPhone 5s 64bit iOS 7.0.3 如何配置必须在iOS 5.1.1上运行的通用应用程序,以便它也可以在iPhone 5S上以64位运行? - How to configure a universal app which must run on iOS 5.1.1 such that it also runs with 64 bit on iPhone 5S? OpenGL ES着色器和64位iPhone 5S - OpenGL ES Shaders and 64-bit iPhone 5S 在64位5s iPhone上安装时,为什么应用程序卡住 - Why does app get stuck when installing on 64 bit 5s iPhone 如果不是64位版本,IOS7应用会在模拟器中崩溃,并且在iPhone4和5s上可以正常运行 - IOS7 app crashes in simulator when not in 64 bits, runs fine on iPhone4 and 5s 错误 MT0117:无法在仅支持 64 位应用程序的模拟器上启动 32 位应用程序 (iPhone 6s) - error MT0117: Can't launch a 32-bit app on a simulator that only supports 64-bit apps (iPhone 6s) Monaca编译的应用iOS应用为32位,而不是64位 - Monaca compiled app iOS app as 32 bit, not 64 bit
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM