mirror of
https://github.com/libretro/RetroArch.git
synced 2026-11-11 03:11:33 -10:00
The iOS and tvOS paths take the same treatment as macOS, down to an iOS 12 floor and with deprecations reported: the UIKit, GameController, MetricKit, AVFoundation and CoreLocation calls above the floor go through the apple_runtime.h sends behind their OS checks, enum values newer than the floor are compared by value, and the display link's frame-rate range is set and read by selector on every platform without an SDK gate. apple_runtime.h gains a 9-16 byte struct getter and -init sends whose casts carry the init family's ownership. Code that uses a framework throughout - the keypress and device haptics, camera authorization, speech - moves into classes carrying its availability, so it calls the framework directly, and is reached by selector through a class looked up once. Deprecated calls with a successor on every floor take it; the rest are sent by selector. The iOS display link and GCDWebServer's lastModifiedDate declare their ownership, and the iOS display link's rate read is guarded for systems before iOS 10.3.