Skip to main content
Version: 2.1.5



Recording turbulence works only in the air, so SDK provides a simulation mode to test it on the ground.

Use it for DEV ENV only. It can be set by env: .dev(serverUrl: nil) in SkyPath.start(). By default when no env parameter is passed, the production server is used.

// Set SDK to use the simulated location that you provide instead of the real from the device

// Enable SDK to send turbulence and events to the server. Otherwise simulated events will not be sent. The default is disabled.

// Stop simulation when not needed

Provide your own simulated location. The simplest way is to have an array of CLLocationCoordinate2D on the same in air altitude and pass it by a timer with 1-second time intervals.

You can use your flight simulation as well.


You can have some hidden developer options to enable/disable simulation mode for QA testing. Simulation mode can be enabled/disabled at any time.

Trigger a turbulence event by using a timer at some time intervals, or randomly during some time, or just by having a test button or your own event to trigger. Turbulence will not be tracked on the ground, so need an air-simulated location.

SkyPath.shared.simulateTurbulence(sev: .moderate)

If turbulence was recorded the SkyPathDelegate method will be called.

func detectedTurbulence(_ turbulence: TurbulenceItem) { }