Why does the iOS simulator require i386 and x86_64 symbols even though I'm on an x86_64 system only?

Joey Carson picture Joey Carson · Jan 19, 2015 · Viewed 29.2k times · Source

I'm trying to get an app running on the simulator that has had some problems doing so before. We don't have libjpeg.a built for i386, but it does have x86_64. This is the only dependency left, but I'm wondering why I actually need i386 symbols, if I'm running on an x86_64 mac.

Answer

Variable Length Coder picture Variable Length Coder · Jan 19, 2015

The iOS simulator can run your app in 32 and 64-bit modes. This allows you to work out a lot of 64-bit issues and make sure it is ready for both armv7 and arm64. To do this, it compiles your app for i386 and x86_64 and requires the libraries for both architectures.