Classes

The following classes are available globally.

SPSmartGeofenceManager Class Definition

  • Undocumented

    See more

    Declaration

    Objective-C

    @interface SPSmartGeofenceManager : NSObject
    /**
        @return Singleton instance of SPSmartGeofenceManager
     */
    +(instancetype)sharedInstance;
    
    /** unavailable method, do not use */
    -(instancetype) init __attribute__((unavailable("call sharedInstance instead")));
    
    #pragma mark - Geofence CRUD
    /**
        Add a geofence to SPSmartMapView
     
        Geofences will disappear when the application is restarted.
     
        To get geofence trigger events, set your delegate by calling 'addDelegate:' and implement delegate methods 'didEnterGeofence' or 'didExitGeofence'
     
        @param localRef localRef of the geofence
        @param buildingRef buildingRef of the geofence
        @param completionBlock called when the operation is finished
     */
    -(void)addGeofence:(NSString*)localRef building:(NSString*)buildingRef completion:(nonnull void (^)(SPSmartGeofenceResponseType response))completionBlock;
    
    /**
        Remove a geofence with local reference and building reference
     
        @param localRef localRef of the triggered geofence
        @param buildingRef buildingRef of the triggered geofence
     */
    -(void)removeGeofence:(NSString*)localRef building:(NSString*)buildingRef;
    
    #pragma mark - Delegate methods
    
    /**
        Add listener
     
     */
    -(void)addDelegate:(id<SPSmartGeofenceManagerDelegate>)delegate;
    
    /**
        Remove listener
     */
    -(void)removeDelegate:(id<SPSmartGeofenceManagerDelegate>)delegate;
    
    #pragma mark - Adding/Removing Beacon fences
    /**
        Add all beacon fences
     */
    -(void)addBeaconfences;
    
    /**
        Remove all beacon fences
     */
    -(void)removeBeaconfences;
    
    /**
        Add a beacon fence to SPSmartMapView
     
        Beaconfence will disappear when the application is restarted
     
        To get beacon geofence trigger events, set your delegate by calling 'addDelegate:' and implement delegate methods 'didEnterGeofence' or 'didExitGeofence'
     
        @param beaconId local reference of the beacon
        @param radiusInMeter radius of the beacon in meter unit
        @param loiteringDelayInSecond time delay between before triggering 'dwell' type transitions in second unit
        @param completionBlock called when operation is finished
    */
    -(void)addBeaconfence:(NSString*)beaconId radius:(NSInteger)radiusInMeter loiteringDelay:(NSTimeInterval)loiteringDelayInSecond completion:(nonnull void (^)(SPSmartGeofenceResponseType response))completionBlock;
    
    /**
        Remove a beacon fence from SPSmartMapView
     
        @param beaconId the id of the beacon
     */
    -(void)removeBeaconfence:(NSString*)beaconId;
    
    #pragma mark - Hit Test
    
    
    @end

    Swift

    class SPSmartGeofenceManager : NSObject

SPSmartLocationManager Class Definition

  • Undocumented

    See more

    Declaration

    Objective-C

    @interface SPSmartLocationManager : NSObject
    
    /**
        @return Singleton instance of SPSmartLocationManager
     */
    +(instancetype)sharedInstance;
    
    /** unavailable method, do not use */
    -(instancetype) init __attribute__((unavailable("call sharedInstance instead")));
    
    #pragma mark - Delegate methods
    
    /**
         Add location listener
    */
    -(void)addDelegate:(id<SPSmartLocationManagerDelegate>)delegate;
    
    /**
        Remove location  listener
     */
    -(void)removeDelegate:(id<SPSmartLocationManagerDelegate>)delegate;
    
    @end

    Swift

    class SPSmartLocationManager : NSObject

Dependencies

  • Undocumented

    See more

    Declaration

    Objective-C

    @interface SPSmartMapCameraOptions : NSObject
    
    #pragma mark - Public methods
    
    /** Get latitude coordinate at the center of the map view */
    -(double)getLatitude;
    
    /** Get longitude coordinate at the center of the map view */
    -(double)getLongitude;
    
    /** Get current camera pitch */
    -(double)getPitch;
    
    /** Get current camera bearing */
    -(double)getBearing;
    
    /** Get current zoom level */
    -(double)getZoomLevel;
    
    -(instancetype) init __attribute__((unavailable("init unavailable")));
    
    @end

    Swift

    class SPSmartMapCameraOptions : NSObject

Base class

  • A base class to define a User Task

    Declaration

    Objective-C

    @interface SPSmartMapUserTask : NSObject

    Swift

    class SPSmartMapUserTask : NSObject

Navigation User Task Implementation

SPSmartMapObject Class Definition

  • SmartMapObject

    Data transfer object used for SPSmartMapView events.

    See more

    Declaration

    Objective-C

    @interface SPSmartMapObject : NSObject

    Swift

    class SPSmartMapObject : NSObject

POI Selection User Task Implementation

SPSmartMapView Class Definition

  • SPSmartMapView

    This is the recommended class to use in your application when you want to display maps and user location with the Steerpath iOS SDK.

    To use this class you need to have a Steerpath API access token. See SPAccountManager.h for instructions on how to authenticate.

    See more

    Declaration

    Objective-C

    @interface SPSmartMapView

    Swift

    class SPSmartMapView

Dependencies

  • SPSmartSDK

    Singleton class that is used to initialize the Steerpath Smart SDK. It’s highly recommended that you start the SDK inside your AppDelegate.

    If you have an offline data bundle ‘sff’ file. You can use it by inserting the filename into your Info.plist with the keyword ‘SP_OFFLINE_DATA’. The data will be automatically read once the app starts.

    Offline data Info.plist example:

    SP_OFFLINE_DATA my_offline_data.sff

    See more

    Declaration

    Objective-C

    @interface SPSmartSDK : NSObject

    Swift

    class SPSmartSDK : NSObject

SPSmartSharingCodeResolver Implementation

  • SPSmartSharingCodeResolver class is responsible for resolving sharing code obtained from scanning QR-Code in Steerpath Web SDK.

    This provides a mechanism to share POIs from Web to Native SDK. If the sharing code is understandable by the Native SDK, SmartMap will select the POI with its information view. Otherwise, it will throw an error. In order to support this class, your application should also be setup so that it supports Universal Links. The format of the sharing url can be configured from the configuration file.

    Example: “services” : { …, “kiosk”: { “default”: { “share”: { “hash”: false, “qrCodeShare”: { “enabled”: true, // Indicate if sharing code is supported “qrCodeURL”: “https://kiosk.steerpath.com/”, // Your domain goes here “qrCodePath”: “steerpath/index.html” // Your url path goes here }, “copyLinkToClipboard”: true } } } }

    See more

    Declaration

    Objective-C

    @interface SPSmartSharingCodeResolver : NSObject

    Swift

    class SPSmartSharingCodeResolver : NSObject