Search Unity

Why there is Device SDK and Simulator SDK?

Discussion in 'iOS and tvOS' started by stopiccot, Aug 29, 2016.

  1. stopiccot

    stopiccot

    Joined:
    May 2, 2013
    Posts:
    26
    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?
     
  2. stopiccot

    stopiccot

    Joined:
    May 2, 2013
    Posts:
    26
  3. povilas

    povilas

    Unity Technologies

    Joined:
    Jan 28, 2014
    Posts:
    427
    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.