Manipulating Core Location data manually [duplicate] - ios

We are looking for a way to send GPS location to iPhone or iPad through bluetooth. The benefits of doing so is that an external GPS device could produce more accurate location than the build-in GPS device in iOS. For our testing purposes, it would also be nice to be able to produce GPS manually by QAs.
We are pretty sure this is possible but we don't know how. We heard about this kind of external GPS device from one of our customers. Simple googling we found this one this device, which does exactly what we are looking for.
We know that it is possible to generate fake GPS location using GPX file through Xcode. Please refer to this SO for more details. But this is not what we are looking for. We don't want to teach the QA how to build and debug with Xcode.
In a nutshell, we want to know how to send GPS location to iOS device via bluetooth. Eventually, we would like to build a simple app (maybe on Mac) and we can set up some GPS locations for testing.
P.S.: A similar question was asked a couple of years ago but it seems very much outdated. This link explains the supported supported bluetooth profiles by Apple. But I don't see anything related.
Any link to sample code or documentation will be very much appreciated. Thank you!

As far as we know, we are not able to send GPS location to our device via Bluetooth. Apple only allow pairing with a small set of known Bluetooth GPS manufactures.

Related

Send GPS location to iOS device via bluetooch

We are looking for a way to send GPS location to iPhone or iPad through bluetooth. The benefits of doing so is that an external GPS device could produce more accurate location than the build-in GPS device in iOS. For our testing purposes, it would also be nice to be able to produce GPS manually by QAs.
We are pretty sure this is possible but we don't know how. We heard about this kind of external GPS device from one of our customers. Simple googling we found this one this device, which does exactly what we are looking for.
We know that it is possible to generate fake GPS location using GPX file through Xcode. Please refer to this SO for more details. But this is not what we are looking for. We don't want to teach the QA how to build and debug with Xcode.
In a nutshell, we want to know how to send GPS location to iOS device via bluetooth. Eventually, we would like to build a simple app (maybe on Mac) and we can set up some GPS locations for testing.
P.S.: A similar question was asked a couple of years ago but it seems very much outdated. This link explains the supported supported bluetooth profiles by Apple. But I don't see anything related.
Any link to sample code or documentation will be very much appreciated. Thank you!
As far as we know, we are not able to send GPS location to our device via Bluetooth. Apple only allow pairing with a small set of known Bluetooth GPS manufactures.

How to find wifi/cellular signal strength in ios [duplicate]

As far as I know it's not possible to scan for hotspots in range and read their bssid and signal strengths. This was possible on iOS 4 by using private APIs and not longer possible on iOS 5 without jailbreak. Even if it were possible, the app would be rejected on the App Store. Is that right?
One company that has an indoor positioning system is claiming they can develop this system in iOS. I know for a fact they are scanning for hotspots and signal strengths and then triangulating the signal on their current Android app.
Are there any alternatives I am missing? Their claiming sounds impossible to me but I would love to hear from the people here. I would like to be ready when they demo (although I am expecting a jailbreak or some kind of mock up)
As far as i know this can still be done (using private APIs, of course) by MobileApple80211 framework.
Stumbler code is a good source of information on how to use this framework.
For iOS 5 you'll need a jailbroken iPhone. Guvener Gokce has a very educational blog post on this: iPhone Wireless Scanner iOS5
Just to update the answer: The MobileApple80211 framework has been replaced by MobileWifi.framework. You will need a jailbroken device (supposedly it can't be done using just private API's, hence on a development/enterprise non-jailbroken device).

Indoor positioning system on IOS 6

My team and I are students and we are currently embarking on a final year project to develop an Indoor positioning system (IPS) mobile application on IOS (IPhones only). Would like to clarify our doubts on certain areas.
1)Is it true that IPhones Apps that calculates the wifi signal strength from access points is still not allowed in app stores?
2) I have seen quite a number of SDKs using Wi-fi triangulation to create IPS for android. Other than redpin which provides open source SDK for IOS, is there other SDKs available to develop IPS on IOS?
Thank you so much.
1) True 2) AFAIK No.
See this SO answer on outdoor positioning and another SO answer on the Apple80211 private framework to access the WiFi (app rejection if you use it ofc). There are also hardware solutions like Cisco Mobility Services Engine.
WiFiSlam used signal strength + SSID + inertia. They claim to use signal integration with a better algorithm than Kalman. See http://youtu.be/OGdvjvla1Tc#t=1033s They were bought by Apple and now are gone from the Internet, but it seems possible, although complicated, to develop a software only solution for indoor positioning.
Another thing, even when you set kCLLocationAccuracyBestForNavigation but the position is still all over the place when compared to a GPS unit. See http://web.archive.org/web/20110912081330/http://rnr.davidlokshin.com/post/825290568
You can only access Wi-Fi-signals from your app if you jailbreak your device. This is not a good solution of course. We at indoo.rs eventually decided to go for Bluetooth instead of Wi-Fi.
We provide an SDK for that, by the way. ;)
1) True. There are no public APIs that supply signal strength. (The only info that can be gathered with public APIs is the SSID of the currently connected Wi-Fi network.)
2) I don't know.

iOS wifi scan, signal strength

As far as I know it's not possible to scan for hotspots in range and read their bssid and signal strengths. This was possible on iOS 4 by using private APIs and not longer possible on iOS 5 without jailbreak. Even if it were possible, the app would be rejected on the App Store. Is that right?
One company that has an indoor positioning system is claiming they can develop this system in iOS. I know for a fact they are scanning for hotspots and signal strengths and then triangulating the signal on their current Android app.
Are there any alternatives I am missing? Their claiming sounds impossible to me but I would love to hear from the people here. I would like to be ready when they demo (although I am expecting a jailbreak or some kind of mock up)
As far as i know this can still be done (using private APIs, of course) by MobileApple80211 framework.
Stumbler code is a good source of information on how to use this framework.
For iOS 5 you'll need a jailbroken iPhone. Guvener Gokce has a very educational blog post on this: iPhone Wireless Scanner iOS5
Just to update the answer: The MobileApple80211 framework has been replaced by MobileWifi.framework. You will need a jailbroken device (supposedly it can't be done using just private API's, hence on a development/enterprise non-jailbroken device).

iOS app with bluetooth as a trigger

I'm trying to help produce a location-specific iOS app that needs an external trigger to start audio playback when it approaches a given location within the building. (no GPS access)
Has anyone had experience doing something similar? One thought I had was to lay out some bluetooth "transmitters" (like an xbee+arduino) around the building, and if the iPhone's bluetooth was close enough to identify it, it would trigger the audio.
I've never worked with bluetooth or an application of this sort before, so any advice would be much appreciated.
Bluetooth would certainly work, although other methods might, too. The only downside to Bluetooth is that you would either need to work within the APple MFi program for standard Bluetooth or restrict the devices used to the iPhone 4s or later or the iPad 3rd Generation or later so you could use Bluetooth LE (Bluetooth 4.0).
Assuming you can use Bluetooth LE, it's not only possible, Apple demoed one such technology. Once you're signed up as a developer, check out Session 705, Advanced Core Bluetooth, from WWDC 2012. The ending demo is exactly what you're looking for, and the session describes how to do it and provides source code.

Resources