iOS setup
01 Sept 2026 · Field Track 360
TrackIt.ready() reaches BGTaskScheduler.register, which Apple requires before didFinishLaunching returns - and React Native starts JS only after that. So one native line is unavoidable:
``` import TrackIt
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: ...) -> Bool { TrackItLaunch.ready() // ... your existing RN setup ... } ```
Calling TrackIt.ready(config) from JS later is safe and re-applies capture parameters, but fields affecting background-task registration are fixed at launch on iOS.
Add the usual Info.plist keys, the verbatim background-task identifiers, and a Podfile post_install gate on IPHONEOS_DEPLOYMENT_TARGET - s.platforms alone only hard-fails a clean install, and dyld then cannot load a framework whose MinimumOSVersion is 17.