TL;DR: We cannot add BLE to the Expo client in the near future but you can use other libraries for this in the bare-workflow today. We are working on improving this and will let you know when we have updates.
👋🏻 As you may have seen iOS 13 introduced a much stricter set of rules around the Bluetooth permission: https://www.theverge.com/2019/9/19/20867286/ios-13-bluetooth-permission-privacy-feature-apps
In order to keep the Expo client in the App Store we've had to slow down the addition of new (protected) features. This is pretty disappointing for me personally as I've been working on the expo-bluetooth package for a while now https://github.com/expo/expo/pull/3131 🙃
BUT because we obviously want this and all awesome native features to be accessible through the Expo SDK we've been working on making the bare-workflow have all of the great features users have come to expect (the last remaining modules to build are OTA updates and notifications). You can read more about the bare-workflow here: https://blog.expo.io/you-can-now-use-expo-apis-in-any-react-native-app-7c3a93041331
You can start using the bare-workflow today and install any third-party BLE solution like react-native-ble-plx or react-native-ble-manager. Here is an example of doing that: https://github.com/Cierpliwy/SensorTagExpo
We are actively optimizing the bare-workflow so other critical features like in-app purchases and native Firebase that require build-time configuration will be available with the Expo SDK too!
We are also working on a new service for creating custom builds in the cloud so windows users will be able to utilize all of these great tools as well! You can learn more about the existing adhoc build functionality here: https://docs.expo.io/versions/latest/guides/adhoc-builds/
Thank you for your patience.
To stay updated with these changes you can follow:
Expo Blog: https://blog.expo.io