Ich dachte das Integer der generische Typ ist und automatisch zu Int64 wird, wenn man auf 64Bit als Zielpattform übersetzt.
Das ist teilweise immer noch so:
Platform-dependent integer types
LongInt entspricht bei 32-Bit und bei 64-Bit Windows einem 32-Bit Wert, bei 64-bit POSIX (incl. iOS und Linux) aber einem 64-Bit Wert. Wie Sebastian schon sagte, hat man sich da an den entsprechenden Vorgaben seitens Intel und Microsoft orientiert. In C# ist ein
int halt immer ein 32-Bit Wert - in Objective C aber nicht.