118
Views
7
Comments
[Bluetooth Serial Plugin] Should the demo work on IOS?
Question
bluetooth-serial-plugin
Mobile icon
Forge asset by Guillaume Henriques
Application Type
Mobile

Hi,


I am trying the Demo, it works fine on Android, but it does not work in IOS, should it?


The application starts loading aind imediatelly closes itself.


I get the folowing errors in Service Center:


A fatal error has occurred. Please contact OutSystems support: SIGABRT signal



Failed to load cache manifest file: file /var/mobile/Containers/Data/Application/72BAEFA7-9463-4A34-AD6E-808F2CB12A19/Library/Application Support/OSNativeCache/OSCacheManifest.plist not found. The file was never created.


Any clue on how to solve this issue?


Thanks

2021-05-18 02-27-17
Manish Gupta
Champion

Hello Cipriano 

In the OutSystems the Native Applications could be used in both Android and iOS. I have never tried this component demo but IMO, it should work in iOS. 

Have you generated the iOS App for this? 

If it is not working then issue could be related to the iOS Security and The Permissions. Unfortunately, I can't test this with iPhone :(  

UserImage.jpg
Fernando Urdaneta

Has anyone found a solution to this problem? I am getting the same error on IOS.

UserImage.jpg
marschen

Hello,

Because this plugin uses Bluetooth, but does not ask the IOS system to obtain authorization. So it doesn't work. 

If you want to fix it:


1. Download the plugin source code at https://github.com/don/BluetoothSerial 

2. Open “Plugin.xml” add below info setting and Zip it .

        <preference name="BLUETOOTH_USAGE_DESCRIPTION" default=" " />

        <config-file target="*-Info.plist" parent="NSBluetoothPeripheralUsageDescription">

            <string>$BLUETOOTH_USAGE_DESCRIPTION</string>

        </config-file>

        <config-file target="*-Info.plist" parent="NSBluetoothAlwaysUsageDescription">

            <string>$BLUETOOTH_USAGE_DESCRIPTION</string>

        </config-file>

        <config-file target="config.xml" parent="/*">

            <preference name="bluetooth_restore_state" value="$BLUETOOTH_RESTORE_STATE"/>

        </config-file>

3. Open Bluetooth Serial Plugin, Follow these steps:


 {

    "resource": "BluetoothSerial.zip",

    "plugin": {

        "resource": "BluetoothSerial"

    }

}

4. Publish the change and refresh dependent.

5. Generate the demo application for IOS.


Thank you

Mars

2025-07-28 12-04-15
Vitor Crivano

Thanks for the help marschen! 
I tried what you said and my app now is asking the permission for bluetooth on iOS!
I still cant list the paired devices but at least its not giving me the error about lack of permissions.


UserImage.jpg
Vitor Crivano

I also want to mention that in order to use the plugin as a resource its necessary to change the attribute 'id' on plugin.xml to: BluetoothSerial. That worked for me.

2021-03-25 06-15-00
Meetali Gupta

Hi,

I am facing the same issue. I am also not able to get the list of paired and unpaired devices. 

Can you please help me to know how you resolved this issue? It would be a great help.

Thanks in advance.

2020-10-08 19-51-35
João Barata
Staff

Hi,

On iOS the discoverUnpaired is not supported. iOS uses Bluetooth Low Energy and the "ListPairedDevices" should discover devices without pairing.

Also, I've released version 4.0.0, which should fix the permissions errors on Android and iOS and be compatible with MABS 10 and MABS 11.

Community GuidelinesBe kind and respectful, give credit to the original source of content, and search for duplicates before posting.