- Version 3.11.0 - April 25, 2024
- Version 3.10.0 - April 02, 2024
- Version 3.9.0 - April 02, 2024
- Version 3.8.5 - March 18, 2024 [Stable]
- Version 3.8.4 - March 12, 2024
- Version 3.8.3 - March 11, 2024
- Version 3.8.2 - February 23, 2024
- Version 3.8.1 - February 21, 2024
- Version 3.8.0 - February 20, 2024
- Version 3.7.2 - February 16, 2024
- Version 3.7.1 - February 09, 2024
- Version 3.7.0 - January 30, 2024
- Version 3.6.0 -December 20,2023
- Version 3.5.0 -December 11,2023
- Version 3.4.0 -November 28,2023
- Version 3.3.0 -November 06,2023
- Version 3.2.3 -October 27,2023
- Version 3.2.2 - October 19, 2023 [Stable]
- Version 3.2.1 - October 18, 2023
- Version 3.2.0 - October 11, 2023
- Version 3.1.0 - September 29, 2023
- Version 3.0.3 -September 21,2023
- Version 3.0.2 -September 06,2023
- Version 3.0.0 - August 23,2023
Version 3.11.0 – April 25, 2024 #
Changed
- Now Situm SDK is distributed as an xcframework from Cocoapods.
Added
- Now all Situm SDK XCFrameworks are signed using Situm credentials.
- Added the privacy manifest to cocoapods dependency and to xcframework.
Unfortunately as of April 25th, 2024 there appears to be to be a bug in App Store Connect that is impacting SDKs distributed as static frameworks that declare required reasons in privacy manifests. As result of this bug you may receive a mail from Apple when you try to publish your app. In this mail, Apple warns you that there are three issues with your app of the type ITMS-91053: Missing API declaration. You can find more information and how to solve it here. This problem doesn’t affect the generation of the privacy report.
Version 3.10.0 – April 02, 2024 #
Added
- New constructor of SITDirectionsRequest where you can define a POI as the destination instead of a point.
- SITRoute has a new parameter poiTo that contains the destination POI. If you didn’t set a POI as destination it will be null.
Fixed
- Resolved problem that caused the SITRoute in the SITNavigationDelegate methods to be null.
Version 3.9.0 – April 02, 2024 #
Added
- We simplified the usage of the login. Now, if a user does not have a valid API Key, the system will automatically create one during the login process. Note that as a developer this change won’t affect your app since the preferred authentication method keeps being through API Key directly and not through usr/pass.
Version 3.8.5 – March 18, 2024 [Stable] #
Fixed
- Fixed a bug that caused a crash the first time a route/navigation was requested after the cache had expired (once every hour by default).
Version 3.8.4 – March 12, 2024 #
Fixed
- Fixed a bug of the SDK internal cache. When several identical network requests were made within a very short period of time, instead of retrieving the data from the cache, the SDK was sending these requests through the network.
Version 3.8.3 – March 11, 2024 #
Changed
- From this version of the SDK onwards, the developer does not need to inject location updates by hand. Now both navigation and location systems get connected automatically and every time a new location update is generated the navigation system updates its progress. Therefore, as a developer, you do not have to call SITNavigationManager#updateWithLocation: method anymore.
Fixed
- This version also fixes a bug that allowed to send multiple errors when location permission or BLE sensor are turned off. Now only the most important one is sent according to the correct situation.
Version 3.8.2 – February 23, 2024 #
Changed
- This version fixes a bug that caused that you wouldn’t receive geofence entry/exit events if you set the geofenceDelegate after requestingLocationUpdates. With this fix you can add the geofenceDelegate even if the positioning has already been started.
Fixed
- Fixed crash that happened when there was a null in any custom field (e.g. in POIs, geofences, etc.) as retrieved from Situm API.
Version 3.8.1 – February 21, 2024 #
Changed
- This version contains internal improvements that boost the performance of the location engine.
Version 3.8.0 – February 20, 2024 #
Added
- Now you may use the new options (includedTags and excludedTags) directly on the Map Viewer. If you only use the Map Viewer you can customize your routes with a new configuration class SITMapViewDirectionsRequest that allows to modify these options to alter the computation of routes.
Version 3.7.2 – February 16, 2024 #
Fixed
- This version of the SDK fixes a bug that caused some routes to cross non walkable areas.
Version 3.7.1 – February 09, 2024 #
This version contains a bug in navigation and shouldn’t be used
Improved
- Improved the performance of the location system by doing some expensive operations on the background.
Version 3.7.0 – January 30, 2024 #
Changed
- Included additional options to configure route directions. Now you can customize the DirectionsRequest with a list of strings or tags which the directions system will use to include or exclude parts of the walking area of your buildings. These options are available through the SITDirectionsRequest class on the properties includedTags and excludedTags. You can learn more about this topic on our cartography management section.
Version 3.6.1 -January 17, 2024
- Improved the performance of the communication API that retrieves the information of the POIs of a building. Now it runs much faster.
- Removed filtering POIs option. Previously you could filter POIs while fetching them. This option has been deleted and from now own you should filter results based on your own criteria on the result callback. Specifically the keys SITCustomFiltersKey and SITKeyValueFilterMode no longer work as options.
Version 3.6.0 -December 20,2023 #
This version contains a bug in navigation and shouldn’t be used
Changed
- Improvements in the routeSteps and indications returned when calculating a SITRoute from SITDirectionsManager.
- Now, when obtaining a route the values of the index and nextStepIndex of the SITRouteStep go from 1 to n+1 instead of going from 0 to n. The same happens with the originStepIndex and destinationStepIndex of SITIndication.
- Improved descriptions of some objects to provide more information.
- New indication action (kSITPassThrough) to highlight the presence of a security checkpoint along the corresponding route.
Fixed
- Fixed bugs in the toDictionary methods of SITPoint and SITRouteStep.
Version 3.5.0 -December 11,2023 #
Added
- This version of the sdk introduces a method that allows to retrieve the information of a single Point of Interest.
Version 3.4.0 -November 28,2023 #
Changed
- This version of the sdk allows the usage of the new Map Viewer component in conjunction with the old user/password authentication. The recommended default authentication is based on email/apikey though, old apps can still is different auth method while using new map components.
- Updated rtls version to 2.53.4. Improved the behavior of route adjustment when the RouteAdjustment.useRouteAdjustment parameter is activated. The position adjustment is now decoupled from the orientation adjustment. If the distance from the calculated pose to the route is less than RouteAdjustment.distanceThreshold, the position will always be projected onto the route. The orientation will only be forced to align with the route direction if the position is projected onto the route and the difference between the bearing and the route direction is less than RouteAdjustment.angleDifferenceThreshold.
Added
- Now the new Map Viewer component includes an additional parameter that can be established in order to remotely configure all map settings. For now, you need to contact Situm to obtain yours. This parameter is named remoteIdentifier and can be used on the class SITMapViewConfiguration.
Version 3.3.0 -November 06,2023 #
Added
- Added the properties categoryIdentifiers and categories to SITPOI. Now a POI can have several categories associated with it.
Changed
- Changed the default value of SITCommunicationManager.cacheMaxAge. Before it wast set to 24 hours (86400 seconds) now it is set to 1 hour(3600 seconds)
- Improved the time to obtain the first location after calling requestLocationUpdates from SITLocationManager.
- Deprecated the fields createdAt and updatedAt from SITPOI. From now on, they will be empty in the objects retrieved from SITComunicationManager.
- This release improves positioning performance when starting to follow a route. With this, the Map Viewer is able to adjust the location & orientation to the route smoothly. The routeAdjustement feature that was broken from release 3.2.0. You can learn how to configure how the position is adjusted to the route from here.
Version 3.2.3 -October 27,2023 #
Changed
- From iOS Version 3.2.3 and Android version 3.5.1 routes behave the same on both platforms.
Version 3.2.2 – October 19, 2023 [Stable] #
Added
- Support for Polish language.
Version 3.2.1 – October 18, 2023 #
Fixed
- Fixed a bug that caused the positioning system to not use the appropriate parameters (route adjustment) when using Remote Configuration.
Version 3.2.0 – October 11, 2023 #
Changed
- We are pleased to announce that we have drastically improved route calculation algorithm for significantly enhanced performance. No action required from integrators as all enhancements have been seamlessly implemented internally.
Version 3.1.0 – September 29, 2023 #
Added
- This version of the SDK adds a configuration so the positioning system gets help from the route the user is navigating. The adjustment can be in both distance and orientation. As always in order to configure this option you can either use hardcoded values on your LocationRequest variable (routeAdjustment) or change them through our Remote Configuration panel.
- Added method navigationManager:didStartOnRoute on SITNavigationDelegate protocol to notify the begining of a navigation
- Added method navigationManager:didCancelOnRoute on SITNavigationDelegate protocol to notify the cancellation of a navigation.
- Added support to have multiple listeners for navigation events in SITNavigationManager `addDelegate:` allows to pass a delegate to start receiving notifications about navigation events;`removeDelegate:` allows to remove a previously added delegate to stop receiving notifications about navigation events
Changed
- All methods of SITNavigationDelegate protocol have been made optional now.
- Now, if during a Navigation the user reach the destination, (navigationManager:destinationReachedOnRoute:) the navigation updates are removed. Previously navigation updates have to been removed by you.
Deprecated
- Deprecate `SITNavigationManager.delegate` in favour of the new methods `addDelegate` and `removeDelegate`.
Fixed
- Fixed a bug on the navigation when the user starts it from the SITMapView
Version 3.0.3 -September 21,2023 #
Changed
- Improved navigation performance in large buildings.
Version 3.0.2 -September 06,2023 #
Fixed
- This version fixed a bug that prevented the location system to detect the correct building when using custom beacon identifiers.
Version 3.0.0 – August 23,2023 #
Introducing the new Situm SDK 3.0.
We are thrilled to announce the release of Situm SDK 3.0, which implies a significant architectural change in our SDK. With this update, we have integrated the previous UI standalone solution Wayfinding library directly into the SDK. This integration aims to streamline the development process and provide a more cohesive and comprehensive solution.
Furthermore we have introduced a remarkable evolution and improvement upon the Wayfinding library with the addition of the MapView component, powered by the new Situm Map Viewer. We’ve been listening to our customers’ feedback, and we have incorporated a wide range of enhancements based on your valuable input. Checkout the Situm page for further details.
As this library includes significant changes, compatibility with previous versions has been broken. We understand that transitioning to a new library may require some adjustments. To facilitate a smooth migration process, we have prepared comprehensive documentation:
- Migration guide.
We are incredibly grateful for your continued support and trust in our library. Situm SDK 3.0 represents our commitment to empowering developers with the most advanced tools and ensuring a brighter future for your software development endeavors.
Thank you for being part of this exciting journey with us!
Added
- The new Situm SDK 3.0 introduces a new visual component, SITMapView to provide interactive maps within your application. The MapView allows you to show indoor maps of your buildings on your app! It is a fully interactive Android View with improved capabilities:
- Intuitive Guidance with Dynamic and Static Navigation.
- Advanced POI Display Based on Zoom Level and Density.
- “What’s Nearby” Exploration Made Easy with Category & Subcategory Filtering, and POI search.
- POI information visualization.
- Tailored User Experience with High Configurability.
- Out of the box support for raster floorplans, raster tiles and GeoJSON/IMDF floorplans.
- Multilingual Interface.
- This new version lays the foundation for future improvements, specifically enabling full 3D maps and even augmented reality capabilities.
- Introduced SITMapViewController, a class that acts as a controller for SITMapView and manages user interactions and map data.
Changed
- The minimun iOS supported version has being increaded to ios 11, as the market share of previous versions is very small. As of May 21st, 2023 the 94% of the iPhone users were on IOS 16 or IOS 15 (https://developer.apple.com/support/app-store/). With this change the latest unsupported device will be iPhone 5C(2013) (https://en.wikipedia.org/wiki/IOS_version_history).
Migration from SDK 2.X to SDK 3.X
In order to upgrade the Situm SDK for iOS from any version 2 to the upcoming version 3 you need to focus on the following steps:
- There is no need to include Bluetooth permission anymore, so you can delete it from the main .plist file. Neither Privacy – Bluetooth Always Usage Description nor Privacy – Bluetooth Peripheral Usage Description permissions are needed now.
- There is a new dependency that needs to be added, WebKit.framework. As a developer you can do this on the Link Binaries with Library section of your Build Phase setting panel of your application.
And that’s it. The rest of the steps are the same as before. SDK versions are basically compatible, which means that previous classes will continue to work but you should expect more features regarding maps.