Is there a way to create a background app( once this is available on the iPad ) that can detect when your iPhone is close by? So I'm thinking that it would require the use of bluetooth. I'm thinking you could use this for syncing and such.
Ignoring the aspect of backgrounding (which isn't really what you were asking about in totality):
The way this would work on a running application is that both devices would need to have the application running. Then, they would both have to register themselves through Bluetooth using Bonjour/GameKit.
With traditional bluetooth iPhone/iPad games, the game checks bluetooth and displays local bluetooth players, and then the user can select another player.
Your application would retrieve that list of local bluetooth iPhones, and compare the device name to the device name which you have determined to be your iPhone.
Here is some: GameKit Documentation.
You can do this with two actively running apps. But backgrounding these apps... of course: NDA.
Related
I mean two iPhone devices should be connected with Bluetooth or WiFi and the UI of the one device should be extended to another iPhone device(not sharing the screen). Do we have the way to do this in iOS?
Bump API is the best example and will be useful to you to connect two devices(IOS/Android) and transfer data between them.
After searching on Google, I found that people say it's only possible to connect an iOS device with a non iOS device with the 'MFi program'. Is that true?
My project is mainly focused on sending and receiving information with the Arduino device via Bluetooth directly.
Is communication between iOS and non iOS devices without jailbreak possible? If yes, is there a reference?
(I viewed Stack Overflow question How can an iPhone access another non-iPhone device over wireless or Bluetooth?.)
As I stated in the above-linked question, general Bluetooth communication to external devices on non-jailbroken iOS devices is restricted to MFi-compliant Bluetooth hardware.
However, newer iOS devices (iPhone 4S, new iPad) are capable of Bluetooth 4.0 LE communication with external devices without the need for those devices to be MFi-compliant. This interaction is done through the new Core Bluetooth framework, which lets you send and receive arbitrary data to and from Bluetooth LE devices. This only works with those listed newer iOS devices, though.
Tim points out an interesting hack that you might be able to get away with in making your device appear like a Bluetooth HID keyboard. Devices like this barcode scanner have special modes to appear as HID devices to iOS. You might be able to pull something together based on this, but all data transfer will be one-way from your device, and it looks like this will require entering that data into text fields as if you had a keyboard connected.
Alasdair Alan's "iOS Sensor Apps with Arduino" is a good resource to look at. I've used Wifi with another microprocessor (mbed) but not sure about bluetooth. Alasdair is active on Twitter and he usually is kind enough to answer questions.
I want to place bluetooth devices in different locations and record when the phone gets into each's range. I realize iphone can only connect to mfi devices but can it find out a device id for non-mfi??
If there is a way, would this pass apples app review? I need this app to be able to get into the app store.
Yup, if you have Bluetooth enabled on the iPhone other devices can connect to it. In particular they could do SDP queries (or Remote Name Requests or even a RFCOMM connect).
Or if the phone is in Bluetooth discoverable mode the other devices could do device discovery (inquiry) to find it. (Does the phone stay in discoverable mode when locked?)
It's not entirely clear from your question whether you want an iPhone app to detect the devices, or the devices to detect the phone.
If you have the former in mind, your requirement is exactly what BtLE's (Bluetooth 4.0/Smart/LE) advertising capability is for. Apple's iBeacon technology is such an implementation, or you might roll your own. It'll allow you to do fine grained location in an iOS6+ app running on 4S, 5, and recent iPads. BtLE advertisement detecting apps will easily pass App store guidelines.
From the other direction, devices with BT 2.x - 4.x radios, or with wifi radios, or with various scanners and software radios, will be able to detect mobile phones, tablets, and other radio equipped devices. How much can be discovered is wildly variable.
I'm in the process of getting hardware for an iPhone prototype, and I'm wondering if it's possible to access bluetooth (ExternalAccessory, Bonjour or GameKit) exposed by development box (eg. a macbook) using the SDK's simulator as of the latest version (3.1.3 at the time of writing)
Before I get any answers on the subject, I accept that I will need an iPhone for the actual development - this is simply a prototype.
I'm not sure I understand your question entirely.
I can state that in iOS (as of May 2011) the only access you have to bonjour is through the Gamekit functionality. That functionality is fairly robust, but (for instance) you will not be able to create a BT based bonjour service that other non-iOS BT enabled devices can find.
On the simulator, even if the underlying device HAS bluetooth capabilities, you will NOT be able to perform "real" bluetooth operations. Instead the simulator will simulate some capabilities, and ignore others. You really do need multiple devices to load your code onto and run, in order to test out BT code.
Bluetooth connectivity is inaccessible using the Simulator. If WiFi is good enough for you, that works with Bonjour and GameKit on the Simulator as well. Otherwise, just like for the accelerometer and several other components of the device, you will need an actual device.
I'm new to developing applications for the iPhone and iPod touch. Is it possible to communicate directly between 2 devices in the same room by using WiFi or perhaps even BlueTooth on the iPhone?
I've seen a demo of a fire application where one iPhone "lights" other iPhone when they get close to each other. How is this accomplished?
The point of all this is that I am exploring the option of developing a game that you can play with another person in the same room.
The iPhone supports Bonjour based service discovery and several applications take advantage of this to do things like syncing with a PC on the same network. Explore the samples and guides in the iPhone SDK. WiTap and BonjourWeb are good examples to start with. NSNetServices and CFNetServices are the APIs you'll be dealing with for Bonjour
iPhone - iPhone communication can also be accomplished over bluetooth using GameKit.