# BLE connect to Device Id works with Android, not with iOS

**URL:** https://community.thunkable.com/t/ble-connect-to-device-id-works-with-android-not-with-ios/4107730
**Category:** BLE / BlueTooth
**Created:** [October 6, 2025, 8:40pm UTC](https://community.thunkable.com/t/ble-connect-to-device-id-works-with-android-not-with-ios/4107730 "2025-10-06T20:40:51Z")
**Posts on this page:** 7
**Page:** 1

<div class="post-metadata">

### Author: ![tintin4000](https://avatars.discourse-cdn.com/v4/letter/t/a698b9/32.png) [@tintin4000](https://community.thunkable.com/u/tintin4000)
#### Post date: [October 6, 2025, 8:40pm UTC](https://community.thunkable.com/t/ble-connect-to-device-id-works-with-android-not-with-ios/4107730/1 "2025-10-06T20:40:51Z")

</div>

I am connecting my Thunkable App to an ESP32-S3 using its mac address as its device name. Everything is working fine on Android, but after downloading the app on iOS 26, I got a message ‘“Invalid UUIDs or IDs were passed: xx:xx:xx:xx:xx:xx”. The xx being the mac address of the device. On the Android phone the MAC address retrieved is identical to the one on the iPhone. Anything that can explain the difference or point in the right direction?

 ![image](https://us1.discourse-cdn.com/flex015/uploads/thunkable/original/3X/a/d/ad80e91d1090abf69d48f5b922fd55246f2ea347.png)

---

<div class="post-metadata">

### Author: ![ioannis](https://sea1.discourse-cdn.com/flex015/user_avatar/community.thunkable.com/ioannis/32/146956_2.png) [@ioannis](https://community.thunkable.com/u/ioannis)
#### Post date: [October 7, 2025, 10:22am UTC](https://community.thunkable.com/t/ble-connect-to-device-id-works-with-android-not-with-ios/4107730/2 "2025-10-07T10:22:23Z")

</div>

Hi @tintin4000  
According to our engineers, it is expected that Android returns the MAC address of the device, whereas iOS returns a randomized UDID because Apple doesn’t want to return the MAC address due to privacy concerns.

---

<div class="post-metadata">

### Author: ![tintin4000](https://avatars.discourse-cdn.com/v4/letter/t/a698b9/32.png) [@tintin4000](https://community.thunkable.com/u/tintin4000)
#### Post date: [October 7, 2025, 11:26am UTC](https://community.thunkable.com/t/ble-connect-to-device-id-works-with-android-not-with-ios/4107730/3 "2025-10-07T11:26:25Z")

</div>

> [@tintin4000](#):
>
> I am connecting my Thunkable App to an ESP32-S3 using its mac address as its device name. Everything is working fine on Android, but after downloading the app on iOS 26, I got a message ‘“Invalid UUIDs or IDs were passed: xx:xx:xx:xx:xx:xx”. The xx being the mac address of the device. On the Android phone the MAC address retrieved is identical to the one on the iPhone. Anything that can explain the difference or point in the right direction?

So the solution that would support both Android and iOS consist on using the Device Name instead, is that correct?

---

<div class="post-metadata">

### Author: ![ioannis](https://sea1.discourse-cdn.com/flex015/user_avatar/community.thunkable.com/ioannis/32/146956_2.png) [@ioannis](https://community.thunkable.com/u/ioannis)
#### Post date: [October 7, 2025, 11:51am UTC](https://community.thunkable.com/t/ble-connect-to-device-id-works-with-android-not-with-ios/4107730/4 "2025-10-07T11:51:03Z")

</div>

The device names block doesn’t work on Android 16.  
Another solution is to use a different Device ID for Android and iOS.

---

<div class="post-metadata">

### Author: ![22kifayatun8ne](https://sea1.discourse-cdn.com/flex015/user_avatar/community.thunkable.com/22kifayatun8ne/32/172121_2.png) [@22kifayatun8ne](https://community.thunkable.com/u/22kifayatun8ne)
#### Post date: [October 15, 2025, 12:09pm UTC](https://community.thunkable.com/t/ble-connect-to-device-id-works-with-android-not-with-ios/4107730/6 "2025-10-15T12:09:35Z")

</div>

after mac detected use timer 1 sec(connect with uuid)

---

<div class="post-metadata">

### Author: ![tintin4000](https://avatars.discourse-cdn.com/v4/letter/t/a698b9/32.png) [@tintin4000](https://community.thunkable.com/u/tintin4000)
#### Post date: [October 16, 2025, 3:52pm UTC](https://community.thunkable.com/t/ble-connect-to-device-id-works-with-android-not-with-ios/4107730/7 "2025-10-16T15:52:13Z")

</div>

I had to increase the time to 3 sec but I didn’t check all timing. But indeed it works. I have made a loop like connect, if failed (iPhone), wait 1-3 sec, try to connect again, then 100% success of connection with iPhone.

The recommended and supported approached is to use the scan function, unfortunately, it takes a long time compare to the approached above.

---

<div class="post-metadata">

### Author: ![22kifayatun8ne](https://sea1.discourse-cdn.com/flex015/user_avatar/community.thunkable.com/22kifayatun8ne/32/172121_2.png) [@22kifayatun8ne](https://community.thunkable.com/u/22kifayatun8ne)
#### Post date: [October 16, 2025, 4:14pm UTC](https://community.thunkable.com/t/ble-connect-to-device-id-works-with-android-not-with-ios/4107730/8 "2025-10-16T16:14:54Z")

</div>

scan function →use another timer as loop don’t use delay fun, test with official esp32 lib
