I am working on an ibeacon app and I am worrying about that others might sniff the proximity UUID of my app. So i did some research and found this article: http://developer.radiusnetworks.com/2013/10/21/corebluetooth-doesnt-let-you-see-ibeacons.html
It basically stated like others that apple DOES NOT ALLOW you to do this. but then i found some mac app like this one: https://github.com/liamnichols/iBeaconScanner
I did some test and it really can show me the UUIDs. Does there has any ways to prevent even those mac or android app from getting my proximity UUID?
The "CoreBluetooth Doesn't Let You See Beacons" blog post you mention was specifically about iOS. On that platform, the operating system's public APIs do not allow you to detect iBeacons unless you know the identifier up front.
The iBeaconScanner program you reference is for OSX, which does not have the same restrictions. On OSX as well as on Android, Linux, Windows and other platforms, you can scan for beacons and read the identifiers without knowing them up front.
I once used the Android Locate app to read the beacon identifiers at the Apple Store, and then made a beacon with the same identifiers and was able to pop an Apple Store welcome message on an iPhone.
You cannot prevent other people from doing this. You need to design any system that uses iBeacon technology to take this possibility into account.
Related
I found several topics where arises the same question, but they're pretty old and most of them don't have a definite answer, or the answer is applicable to iOS only. Also some sources say it's prohibited while other disagree.
For example, here or here about iOS.
I'm interested whether IOKit can be used for macOS applications - note! macOS, not iOS - to get only battery information.
If no, I'd like to find out, how apps like Battery Health work.
What are your guesses? Thanks.
The IOKit.framework is a reasonably well documented, public API on macOS. Many apps and most 3rd party device drivers use it. For the Mac App Store, entitlements restrictions apply.
Regarding Mac battery status, you probably want to take a look at the IOPMPowerSource/AppleSmartBattery objects. The output from running the following command on the Terminal should give you an idea of what information is available:
ioreg -w 0 -irc IOPMPowerSource
The AppleSmartBattery source code is available, that's probably your best reference.
I want to know if I can setup altbeacon uuid, major and minor with altbeacon library for any beacon hardware that support altbeacon layout. I haven't seen this information in any place. Because of operational reasons, I need to set them up remotely, with open source software. All of them are proprietary. I am looking for an open source solution for set them up. Any help or information would be apreciate it.This question is related to altbeacon, because I couldn't find a non property solution for ibeacons.
Altbeacon is 'old' and not used so much now. In any case, it sends out a URL, not unique id(s). You should instead look into Eddystone if you really don't want to use iBeacon. All beacons just use 'standard' Bluetooth advertising so there's nothing to stop you designing your own Bluetooth advertising payload. There's an overview of advertising at BeaconZone.
The Android Beacon Library does not provide a SDK for configuring beacon identifiers. Unfortunately this is not possible because every beacon manufacturer has a different way of configuring their beacons, and the mechanisms are often proprietary and does not have a published API.
The open source AltBeacon standard is supported by a wide variety of beacon hardware manufacturers. However, there is simply no standard way of configuring the identifiers. You must follow manufacturer instructions.
As far as I understand eddybeacon (just released by Google) is effectively a new 'operating system' for Bluetooth 4.0 Low energy devices (iBeacons). I have been experimenting with iBeacons for sometime now and want to try out a few things with eddybeacon. Has anyone had a go with it yet? I've read a few sites and they say it can be installed to some devices... Can anyone share how to do this?
If you want to start out by playing with Eddystone, you have a couple of options:
You can use a software transmitter. Just download my free Locate App in the Google Play store which will both act as an Eddystone transmitter and decode other Eddystone-compatible beacons in the vicinity. Google also has posted an Android app that can transmit the Eddystone-UID frame here, but you have to compile it yourself.
You can get a few hardware beacons for testing with a Developer Kit from Radius Networks (my company) here.
Once you have a transmitter, you can try writing some software to work with it. Here's a tutorial I wrote on how to build a basic Eddystone-capable Android app.
One other thing that might be useful is an Eddystone detector tool. You can use the free Android Locate app to detect and decode all of the frames transmitted by Eddystone.
So:
Eddystone is a specification for Bluetooth Smart (usually just called BLE) devices to behave like beacons — it defines the Bluetooth frames and content they need to broadcast to be seen as beacons.
iBeacon is not a generic term. iBeacon is actually Apple's specification for Bluetooth beacons. Eddystone and iBeacon are both examples of beacon specifications for BLE devices.
There are a few ways to get started with Eddystone beacons.
a. A number of hardware manufacturers sell developer kits that will let you get started with Eddystone beacons right away, and there is plenty of example software out, either from those vendors, or from the google pages on GitHub — github.com/google/eddystone and github.com/google/beacon-platform.
b. Some people have had good luck with Arduinos and Raspberry Pis. You can see an Arduino example here (Note: I have no idea how well that project works, I've just seen it used a few times.)
I have been searching high and low, but have so far been ineffable. I am now turning for the stackoverflow community for advice.
My goal is to build a Mac app in XCode, that will allow me to send MP4 content from my Mac (or from a public URL on the web) to my Apple TV.
I have located numerous classes within the framework for iOS that enables this (quite easily it seems), but the trail ends there. It just seems like there is no API to do the same from OSX, but I am hoping that I have overlooked something :-) There seems to be well established methods for sending audio to AirPlay enabled devices, but not video?
I am aware of the 3rd party specification of the protocol at http://nto.github.io/AirPlay.html, and it looks a tangible plan B for my needs, but I would appreciate any pointers if anyone knows of a more official way.
Is it possible to use an iBeacon to get the UUIDs of all devices in its radius? I tried searching this up, but I couldn't find a definitive answer.
Technically speaking, iBeacon is a standard designed for broadcast-only, meaning that it can only advertise data (UUID, Major, and Minor). However, there's nothing stopping you from building a device that's more than just iBeacon. Actually, most of the beacons available today are more than just iBeacon hardware, with connectivity mode and adjustable settings, which goes beyond what's specified in the iBeacon documentation.
A good example of a device like that is an iPhone. You can make your iPhone act as an iBeacon (at Estimote, we call this Virtual Beacon: https://community.estimote.com/hc/en-us/articles/200908836-What-s-Virtual-Beacon-) and still have apps installed that are monitoring for other iBeacon regions.
Cheers.