btstack/platforms/ios
2015-09-21 18:49:37 +02:00
..
3rdparty
CocoaTouch remove outdated/unused files 2015-07-14 22:40:12 +02:00
example delete outdated project 2015-07-14 22:38:37 +02:00
layout minor bump for PreferenceLoader dependency 2015-07-12 22:26:38 +02:00
PatchBlueTool avoid /** comments, clean up block comments 2014-10-16 09:15:23 +00:00
PrefsBundle update ui to only allow BTstack off in iOS prefs bundle 2015-07-01 16:25:18 +02:00
SpringBoardAccess depend on latest libstatusbar and bump version to 0.4 2015-07-12 21:50:52 +02:00
src fix compile with Xcode 7 2015-09-21 18:49:37 +02:00
.gitignore gitignore .deb 2015-07-14 22:40:59 +02:00
btstack-config.h fix ios theos build to work from platform folder (no copy of files around) 2015-05-03 11:31:01 +02:00
Makefile fix message about xcode 4.4.1 install path 2015-05-15 16:18:01 +02:00
README.md drop reference to WiiMote xcode project 2015-07-16 20:55:37 +02:00

BTstack for iOS

BTstack for iOS provides an alternative Bluetooth stack for iOS devices with a public API.

It supports the following Bluetooth Classic protocols:

  • L2CAP
  • RFCOMM
  • SDP

Based on these protocols, applications or daemons can implement various Bluetooth profiles. Packages that already use BTstack are: BTstack GPS, Blutrol, WeBe++, and various game emulators.

Note: As BTstack directly uses the Bluetooth hardware, the iOS Bluetooth is automatically disabled for BTstack applications & services. You can always turn BTstack off in Settings->BTstack.

Please visit the project page at GitHub for technical information and check the platform/ios subfolder.

How to develop

To write BTstack-based applications, you don't need to compile the BTstack Cydia package. You can just install it on your JB iOS device and copy /usr/lib/libBTstack.dylib into your project and add btstack/include to your project includes.

While it's possible to use Xcode, I highly recommend to use theos to create apps & daemons for JB iOS devices instead.

Compile Instructions for BTstack package

Install the following tools:

  • Xcode 6.4 as /Applications/Xcode.app
  • Xcode 4.4.1 as /Applications/Xcode-4.4.1.app/
  • rpetrich's theos fork with "lippoplastic" support

Set the $THEOS environment variable to the location of the theos checkout, e.g. like:

export THEOS=/Projects/theos

Go to btstack/platforms/ios and run make

cd btstack/platforms/ios
make package

If everything went right, you'll end up with a .deb package that you could install via:

make install

Console Examples

With THEOS set-up as before, you can compile and install a set of command line examples in the example folder:

cd btstack/platforms/ios/example
make

You can copy the created examples to your device using scp and run it from there.

Wii Mote CoocaTouch example

Similar as before, you can compile the WiiMoteOpenGLDemo by running make:

cd btstack/platforms/ios/example/WiiMoteOpenGLDemo
make package

You'll end up with a deb file that you can install with

make install

Note: as with any other JB application, you need to refresh the SpringBoard icon cache on the device to make the icon show up. After SSH to your device as root, you can execute these commands:

su mobile
uicache
exit