Why there is Device SDK and Simulator SDK?

Hi, I’m new to Unity so question must stupid but googling gave no results for me.

I’ve generated Xcode project for my with DeviceSDK first, after I did the same with SimulatorSDK.
It turns out that besides small differences in Xcode project (“-DTARGET_IPHONE_SIMULATOR=1” define and
“-Wl,-undefined,dynamic_lookup” linker flag) the only difference is libiPhone-lib.a library.

For Device SDK this library contains arm architectures, for Simulator SDK it contains i386 and x86_64 architectures.

The question is why there is no fat library with all needed architectures so SDK flag can be dropped? I assume there is a reason behind this so can someone explain me it?

up

The reason why we don’t ship fat library with both simulator and device libraries is that it inflates the size of the final project. Most of the time user needs only project for a device or project for simulator, so in these cases fat library does not bring any benefit, but increases the size of the final project folder by at least 300MB.