25

(I am not interested in pure theory, but as a practical near or mid-term possibility, say within 12-24 months.)

As a developer familiar with (but not specializing in) two major smartphone platforms, should I expect an Android library to come out which can spoof itself onto an iPhone app's GameKit-based network. It seems reasonable that a Bluetooth interface between platforms might square the opportunity to make useful applications, in the same way that modems benefited PC/Mac platforms via Metcalfe's Law.

I am looking for one of two answers:

  1. Is this obviously not likely (e.g. because of encryption)? If so, what is the reason? Is it possible in principle, but requiring years of reverse-engineering (like SMB/CIFS/Samba)? Or is it a no-brainer and just a matter of time? Please give evidence supporting your reason.

  2. Is there an alternative way to have direct peer-to-peer networking besides GameKit? For example, a hand-rolled network using Bluetooth or ad-hoc WiFi? It would be nice to spoof an Android device into an existing iPhone app but my main question is, can the devices speak with each other at all!

JasonSmith
  • 68,848
  • 21
  • 119
  • 147
  • that would be so cool... you could probably do it now, web based. ( uses a web lang that the both have in common) – Sam Jarman Jan 17 '10 at 10:28
  • Yes, the Internet is a possible fallback but it is fundamentally different than the low latency of Bluetooth. Also, GPS is not accurate enough to truly tell if users are very near each other but that is easy with GameKit. – JasonSmith Jan 17 '10 at 10:37
  • This question is about 20 months old. If a project (open source or proprietary) has this valuable feature, it seems quite likely that it is impossible. Thus I am changing the correct answer. – JasonSmith Sep 20 '11 at 13:56
  • so is it possible after all? I saw that the bounty was awarded to an answer that was stating that is possible. Alos here http://stackoverflow.com/questions/8707753/file-transfer-between-android-and-iphone-via-bluetooth they say it is possible. Please share what you've found. Thanks. – Ovidiu Latcu Jan 06 '12 at 15:51
  • 1
    Do you have a bandwidth requirement? The current answer uses BLE, but that does not give you a high bandwidth connection. – ThomasW Jan 22 '15 at 08:23

7 Answers7

10

Yes, it is possible. GameKit is a protocol using TCP and/or UDP over a BNEP Bluetooth connection. It also uses a trick to identify other iOS devices using the Extended Inquiry mechanism in Bluetooth 2.1+.

I was able to simulate the EIR responses, now, someone needs to reverse engineer the GameKit protocol. This doesn't need Bluetooth, as it is also used for GameKit connections over WLAN.

If anybody can re-implment GameKit for WLAN connections, I can finish the Bluetooth version.

mringwal
  • 486
  • 3
  • 10
  • 1
    Instead of using GameKit, you can just use Bluetooth Bonjour directly. More details on my related question: http://stackoverflow.com/questions/8070998/using-ios-gamekits-bluetooth-bonjour-with-other-platforms and this answer I posted elsewhere: http://stackoverflow.com/a/8273661/39974 . Can you detail/post code on how you managed to connect the devices? Can you post some more details on what EIR is and how to use it? – Ivan Vučica Dec 28 '11 at 11:49
  • Has any progress been made on this? Can you update us mringwal? Have you done any more work on this Ivan? – zakdances Jan 30 '12 at 07:54
  • @yourfriendzak Little work that I did has not resulted in a successful Ubuntu-to-iPad connection. I didn't dig much further. One of the possible reasons was that I ran Ubuntu in a VM, and another could be that iOS uses an arcane feature of Bluetooth that I didn't set in Ubuntu. – Ivan Vučica Jun 06 '12 at 10:43
4

No, and it wont come soon or even at all... Apple pride themselves with their security features, and bluetooth connections can access private data. There will probably not be any cross platform bluetooth framework until something is agreed upon by both companies.

Bump as said by a previous answerer uses a remote server, and the data transferred is not via BT.

FreddieH
  • 69
  • 1
  • 7
  • 1
    http://blog.moritzhaarmann.de/blog/2014/04/27/sorry-state-of-p2p/ this article (written in 2014) suggest it is possible via Bluetooth LE. Available in Android 4.3+ and iOS6+ – Zoltán Matók Aug 28 '14 at 13:16
1

GameKit is Bonjour so a Bonjour (which is on IP) over Bluetooth on Android should work.

jack
  • 671
  • 7
  • 8
0

That should be possible as Bluetooth is capable of setting up tcp/ip networks. Though I have no knowledge of the IPhone SDK whatsoever, but Android does have a BluetoothSocket and BluetoothServerSocket for TCP connections.

user252634
  • 87
  • 1
  • Thanks, mrsnowflake. I am looking for evidence (documentation, existing apps) that could confirm exactly this assumption. – JasonSmith Jan 21 '10 at 05:31
0

This article, http://blog.moritzhaarmann.de/blog/2014/04/27/sorry-state-of-p2p/ written in 2014, suggest it is possible via Bluetooth LE. Available in Android 4.3+ and iOS6+

Two issues:

Zoltán Matók
  • 3,829
  • 2
  • 28
  • 55
  • Good pointers! indeed the biggest issue yet is the instability of Bluetooth on Android phones and the lack of BLE Peripheral support on all Android devices. This calls for hybrid implementations using other methods for proper Android Android support. I happen to work for a company doing exactly that: http://p2pkit.io , perhaps it can help... – p2pkit May 10 '16 at 15:27
-3

Bounjour on the iPhone gives you full access to all of the Bluetooth protocols, so you don't have to use GameKit. As for when someone will provide an easy to use iPhone to Android GameKit like framework - hard to tell.

An iPhone can already talk to any other Bluetooth device using Bonjour today.

-t

Tim
  • 2,676
  • 1
  • 15
  • 10
  • To be a viable replacement, ad-hoc WiFi must be supported on both devices. Is that the case? My quick investigation indicates that it is not. – JasonSmith Jan 17 '10 at 23:32
  • 1
    Tim, that is encouraging. I thought iPhone was quite locked-down with Bluetooth access. Otherwise somebody could write a desktop bluetooth app to tether. But I would love to know more. – JasonSmith Jan 18 '10 at 05:28
  • 3
    This answer is just plain wrong: the few standard Bluetooth protocols that are available are handled by the OS and aren't available from custom applications. – rpetrich Jan 23 '10 at 01:06
  • 4
    I believe rpetrich is correct. The developer SDK for iPhone does not provide access to the bluetooth stack. – Brad The App Guy Jan 25 '10 at 17:43
  • Bump communicates with the server to exchange data. It,s not peer to peer. – Richard Perry Oct 10 '10 at 02:21
-5

It is absolutely possible! In fact I am amazed that more people haven't done it!

Theory:

Bluetooth is just a wireless socket that you push data across and it comes across the other side, just like tcp/ip.

Practice:

http://www.techcrunch.com/2009/11/11/bump-goes-cross-platform-with-new-android-app-upgrades-iphone-version-too/

Better yet, Bump is cross-platform, which means that you can bump an Android phone with an iPhone and it should work seamlessly.

CaseyB
  • 24,194
  • 11
  • 70
  • 106
  • Thanks, that shows you can write cross-platform bluetooth apps! Still, I wonder if they used GameKit or they rolled their own. – JasonSmith Jan 22 '10 at 05:44
  • I'm guessing that it would actually be easier in a case like this to roll your own so you have complete control over what, exactly, gets sent and how it is sent. – CaseyB Jan 22 '10 at 16:01
  • Awarding this as the accepted answer. I wish there was documentation one way or another whether you could *specifically* spoof GameKit. However it is very encouraging that at the very least, cross-platform Bluetooth is possible. – JasonSmith Jan 27 '10 at 13:20
  • 21
    Bump doesn't spoof Gamekit nor does it use Bluetooth at all. It goes back to the cloud and uses GPS to coordinate that you are at the same location – Zac Bowling Apr 24 '10 at 06:42