1. SDK crash, error, or warning in Xcode while running SDK.
- Reason: Mobile App is running on the simulator.
- Warning: ignoring file /Users/username/project/mist-vble-ios-sdk/DemoApp/Mist-indoor-location-dr/Pods/MistSDKDR/Framework/MistSDK.framework/MistSDK, building for iOS Simulator-x86_64 but attempting to link with file built for iOS-arm64
Error:
Undefined symbol: _OBJC_CLASS_$_MSTPoint Undefined symbol: _OBJC_CLASS_$_MSTCentralManager Undefined symbol: _OBJC_CLASS_$_MSTOrgCredentialsManager
Fix: Run the App on iPhone or iPad device.
2. Unable to develop/test rest of the project on simulator due to Mist SDK(requires device to run SDK)
Fix: Use the following code sample to run the project without compiling the SDK on the simulator.
Mist SDK mainly functions on 2-3 callbacks. Hence, you can use the following swift code to run the project on the simulator.
#if targetEnvironment(simulator) // your simulator code class ViewController: UIViewController { // disabled Mist code } #else // your real device code import MistSDK class ViewController: UIViewController,MSTCentralManagerDelegate,MSTCentralManagerMapDataSource { .. .. } #endif
Reference Sample app:
MistSDK-DR-SampleCode-to-run-on-simulator – Google Drive
3. The map doesn’t load.
– Callback to get map is didUpdateDRMap (iOS) and onMapUpdated (android)
To troubleshoot, please check the following:
- Do you have a BLE-enabled Mist Access Point placed on the map correctly?
- Is the floor map scaled?
- Running the SDK on a device or simulator?
- Is Bluetooth permission enabled on the device?
- Is the Mobile SDK secret correct?
- Does WebSocket connection return true in the SDK? refer to the method below to see the WebSocket connected in iOS SDK.
func mistManager(_ manager: MSTCentralManager!, didConnect isConnected: Bool) { print("didConnect callback response is: \(isConnected)") }
- Is the error handling callback implemented to re-enroll the org on Authfailure?
Home
4. Bluedot is not accurate.
- Check the SDK version if it is the latest one.
Release Notes
Release Notes - Check if they are using the correct callback.
– For iOS, it should be – didUpdateDRRelativeLocation
– For Android, it should be – onDRRelativeLocationUpdated - Location deployed as per the guide below:
Location Deployment Guide (PDF) – Mist - Collect RF recordings to see if the SDK receives enough RSSI.
RFGlasses for Troubleshooting – Mist
5. Unable to receive zone or virtual beacon notifications.
- Check if the zone and vBeacon are set in the Mist Dashboard accurately.
- Check if the virtual beacons and zones are placed in the area that has good Mist AP BLE coverage.
- Virtual beacon should have a message(set from the Mist Web UI Portal):
- Zone should have a name(Good to have):
- Callback to get a notification is:
- For iOS, didReceiveNotificationMessage
- For Android, onNotificationReceived
- For troubleshooting, how do you check what SDK version and DR version?
You can confirm the SDK and DR version using below in iOS:
MSTCentralManager.getSDKBundleVersion() MSTCentralManager.getMobileSDKVersion().
You can confirm the SDK and DR version using below in Android:
import com.mist.android.adapter.go.LocalCloud; // header String drVersion = "DR SDK Version: " + LocalCloud.getInstance().getDRVersion(); // getMobileSDKVersion String sdkVersion = "MIST SDK Version: " + getResources().getString(R.string.mist_sdk_version); // getSDKBundleVersion