Bluetooth File Transfer

Bluetooth File Transfer

File transfer between two iOS devices via Bluetooth

BTFileTransfer is a subclass of NSObject that lets you transfer any kind of data (from simple text to complex files) via Bluetooth.

Great for "bumping" a vCard or settings between two devices.

The demo app included with your purchase lets you send photos from one iOS device to another (tested and confirmed working on iPhone, iPad and iPod Touch).

Video of the demo app running on iPhone 4 and iPad 2

Deployment target: Tested with iOS 5 and later

ARC compatible

Bonus 1: Buyers of the developer license can request features that might be implemented later

Bonus 2: Demo app "BTChat" available to everyone soon after release (like Messages app but Bluetooth) [Screenshot]



Drag both files – BTFileTransfer.h and BTFileTransfer.m into your project and link against GameKit.framework.



Create a new instance of BTFileTransfer like this

_fileTransfer = [[BTFileTransfer alloc] init];

and assign "self" as the delegate of BTFileTransfer like this

_fileTransfer.delegate = self;

Implement at least the required delegate method of the BTFileTransferDelegate protocol. According to the header it is

- (void)fileReceived:(NSData *)data {


"Pair" by calling

[_fileTransfer pair];

After the delegate method

- (void)peerConnected:(NSString *)displayName {


got called you can send data or a file using one of the two available methods:

UIImage *image;
NSError *error;

[_fileTransfer sendData:UIImageJPEGRepresentation(image, 0.8) error:&error];

Like that you can also send strings, arrays or a dictionary.

To send a file from the local filesystem:

NSString *path;
NSError *error;

[_fileTransfer sendFile:path error:&error];

Advanced properties

@property (strong) NSString *displayName;

Human-readable name identifying the current device

Device name is used if not set


Advanced delegate methods

- (void)fileTransferInProgress:(unsigned int)expectedLength;

Called when receiving a file on the device receiving it.

You can present the user with an alert telling him the size of the file.

You need to log-in or create an account
  • Create an account
  • Log-in
Please use your real name.
Activation link will be sent to this address.
Minimum 8 characters
Enter your password again

Clicking this button confirms you read and agreed to the terms of use and privacy policy.


Save your watchlist

Fill your details below to receive project updates from your watch list - including new versions, price changes and discounts.

I agree to the terms of use and privacy policy.

2 licenses, starting from From » $19.99 14 day money-back guarantee View Licenses
or Get a quote

for customization or integration services

  • Excellent
    MN Mark Nicholls
    2 years ago, 0 comments
    Was this helpful?
Post a comment

Or enter your name and Email
  • P Pierre License holderApplication License 2 months ago
    It works with iOS 8?
  • M Mahendra 9 months ago
    Does this work with iOS7?
  • J Jon License holderApplication License 1 year ago
    Are you still in business? I ask because there seems to be no activity on this site for over a year. Also, what exactly do I get? Do I get source files to be included in my apps to share files?
    • MB Max Bäumle Developer 1 year ago
      Yes & yes!
    • J Jon License holderApplication License 1 year ago
      Awesome! Thank you - Max! So I want to transfer sqlite database between my iPhone app to my iPad app. The files might be large. Do think this is a good solution for me?
    • MB Max Bäumle Developer 1 year ago
      It is definitely a solution worth trying. Remember, Binpress offers a limited money back guarantee you can always use if you feel unsatisfied with the product.
    • J Jon License holderApplication License 1 year ago
      Sounds Great! I will give it a try and if works I will provide you with an outstanding review. You fast replies to this has been great - Very Good Customer Service. Thank You!
    • J Jon License holderApplication License 1 year ago
      Just sent a support ticket. You may not know this, but iOS 7 has deprecated the GKPeerPickerController, GKSession, and other GameKit items. Any work arounds?