https://developer.apple.com/documentation/corelocation/cllocation/3861803-sourceinformationDeclaration
var sourceInformation: CLLocationSourceInformation? { get }
Discussion
This property enables developers to make better-informed decisions as to whether to treat certain locations differently, or reject potentially simulated locations that they generate during testing. An app may choose to check this property and reject locations if, for example, the isSimulatedBySoftware property is true when the developer isn’t debugging or testing the app.
Use the sourceInformation property when knowing the true location of the device (within a tolerance for estimation error and horizontal/vertical accuracy) is critical.
https://developer.apple.com/documentation/corelocation/cllocationsourceinformation/3861807-issimulatedbysoftwareDeclaration
var isSimulatedBySoftware: Bool { get }
Discussion
Core Location sets isSimulatedBySoftware to true if the system generated the location using on-device software simulation. You can simulate locations by loading GPX files using the Xcode debugger. The default value is false.
https://developer.apple.com/documentation/corelocation/cllocationsourceinformation/3861806-isproducedbyaccessoryDeclaration
var isProducedByAccessory: Bool { get }
Discussion
Core Location sets isProducedByAccessory to true if the system retrieved the location from an external accessory attached to the device, such as a Made for iPhone GPS dongle or CarPlay. Otherwise, the default value is false.