Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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. 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. 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. 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?

The iPhone is provisioned and I've used it for testing the 64 bit so it is not an issue.

Thanks in advance

like image 303
Jon Clayton Avatar asked Apr 12 '14 03:04

Jon Clayton


People also ask

Can I run 32bit apps on the iPhone 5S simulator?

You should be able to run it on the 64bit simulator. I can run 32bit apps here on a real 5s and the simulator. Take a look at: stackoverflow.com/questions/22323039/… Show activity on this post. In Build Settings, change Architectures to $ (ARCHS_STANDARD_32_BIT). Then choose iPhone Retina (4-inch 64-bit) for the simulator.

Will 64-bit run on the iPhone 5S?

The 64-bit binary runs only on iOS 7 or later. The only problem is that, if developers fail to update their apps, and you download an app that runs 32 bit on your iPhone 5S, you slow down the entire operating system! The below paragraph is taken form a NDA developer doc titled 64-Bit Transition Guide for Cocoa Touch.

Why can’t iOS run 64 bit apps?

Apple blames the developpers of apps for not having updated their apps to 64 bit, but windows 64-bit OS can both run 32 and 64-bit apps. So why cant iOS do the same? The iPad air which I am using used to run 32 bit apps, so the processor can handle 32-bit apps.

How do I know if my iOS is 32-bit or 64-bit?

You can also check your iOS version if it is newer than 7.0 than it is running on a 64-bit architecture whereas if it is older than that then it is running on a 32-bit architecture 64.


1 Answers

In Build Settings, change Architectures to $(ARCHS_STANDARD_32_BIT).

Then choose iPhone Retina (4-inch 64-bit) for the simulator.

It will build a 32 bit version of your app but run it on the 64 bit simulator. 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. 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).

like image 120
Abhi Beckert Avatar answered Oct 13 '22 01:10

Abhi Beckert