Retrieving device WiFi MAC address with iOS 7 - ios

Our app is using device WiFiMAC address to uniquely identify a device. As per the
Apple doumentation we shall start using identifierForVendor property of UIDevice but my app is strongly dependent on WiFi MAC address. At run time, app users look into device settings and fetch the WiFi Mac address and manually put them in some tool to enable some feature on server side. Has anyone retrieved the device WiFi MAC address with iOS 7?

This was intentionally removed from the SDK in iOS 7. You can no longer retrieve the MAC address. Techcrunch has one of several stories on it, and it was confirmed at WWDC.

Use libimobiledevice and from command line run:
./ideviceinfo -k WiFiAddress

Related

macOS - Get information from connected iOS device via USB

I'm developing a macOS app which needs to detect & get information from connected iOS devices via an USB cable.
I've read here how I can get the name of the devices connected via USB, but I'm only able to get a short name of the device (i.e. iPhone instead of John's iPhone)
I'm looking for a way to retrieve the device's full name, and other information about the device: iOS version, device id, carrier etc.
Can this be achieved using Swift?
Thanks to #Robert's comment, I found out about libimobiledevice's ideviceinfo which does what I needed. I couldn't find a way to directly include it in my app, but I found the imobiledevice-net repo, which has macOS libraries on the release page.
These libraries can be used with the help of Swift's Process class.

Suggest any workaround to Enable Developer Options on iOS (preferably 9 and higher) without use of MacOS or Xcode?

I am using Appium to test mobile apps on iOS. I was wondering if there's a way to enable Developer Options on iPhone and iPad using my Windows PC?
There are many applications and testing frameworks (for example, SeeTestAutomation) that are able to activate this option without the use of X-Code or MacOS, so there must be a way to do it.
The Developer Disk Image needs to be mounted to the Apple mobile device (Xcode does this process automatically when an Apple device is connected to an Apple computer).
You need to install libimobiledevice library on your machine, which comes with the ideviceimagemounter tool. Also, you need to have the correct DeveloperDiskImage and DeveloperDiskImage.signature that's version is the same as the mobile device's iOS version you are trying to connect with.
To use the ideviceimagemounter:
ideviceimagemounter <pathToDeveloperDiskImage> <pathToDeveloperDiskImageSignature>
In case of multiple devices connected, specify the udid of the device:
ideviceimagemounter -u <udid> <pathToDeveloperDiskImage> <pathToDeveloperDiskImageSignature>
To get the UDID of the device:
idevice_id
You can get the DeveloperDiskImage and the Signature of your Apple computer from here:
/Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport
See this ubuntu manual page for more details.

does Apple allows to display MAC address of devices in app

I thought this could be best place to clarify my doubts and my concern - we about to release our app and it displays MAC address of all connected devices to a router and someone told me apple does not allow to display MAC address and hence app will get rejected.
But there are so many ios apps on itunes which does display MAC address and how did there app got approved if apple does not allow it.
Please guide me on this.
Thanks,
From iOS 7 or later, the MAC address of an iOS device always returns value 02:00:00:00:00:00. If you need to identify the device, use the identifierForVendor property of UIDevice instead.([[UIDevice currentDevice] uniqueIdentifier]).

Trouble with MAC address in iOS 7.0.2

From iOS 7.0.2 the MAC address is: 02:00:00:00:00:00.
How can I read real one in iOS?
Is this unvailable from 7.0.2, or not?
How do it?
This is a privacy change, so there's no way to get at the underlying MAC address. https://developer.apple.com/news/?id=8222013a
If your apps use the MAC address to identify an iOS device, the system will return the same static value for all devices running iOS 7. Please update your apps to use the identifierForVendor property of UIDevice. If you need an identifier for advertising purposes, use the advertisingIdentifier property of ASIdentifierManager.

Mac Bluetooth MAP profile

Having heard that Apple has included the Bluetooth MAP profile in iOS 6 I was wondering how I could implement the client side of that on a Mac.
I have spent a while Goggling but I haven't found any documentation on how to use it. Is it built into the OS or will I have to use an external library. (I know there is a Bluetooth API in Mac OS but I don't know if it supports the MAP profile)
Are there any code samples or documentation that I could use?
Apple does not support Bluetooth MAP natively in OSX. See http://support.apple.com/kb/PH10549 for a list of supported profiles in Mountain Lion. You can create new profiles for OSX, though, within some bounds. See https://developer.apple.com/library/mac/#documentation/devicedrivers/conceptual/bluetooth/BT_Develop_BT_Apps/BT_Develop_BT_Apps.html for details.
Since MAP is on top of SPP/RFCOMM (see http://developer.bluetooth.org/KnowledgeCenter/TechnologyOverview/Pages/MAP.aspx), you should be able to implement this profile on OSX.
I have implemented Bluetooth MAP on Mac OS X in Phone Amego (allowing users to get on-screen SMS). MAP is built on OBEX which Mac OS X supports. The Bluetooth MAP spec is quite good but takes a while to grok.
You basically create two OBEX sessions: A Message Access Service (MAS) which then registers with the device to receive notifications using the Message Notification Service (MNS). Once you register, the device will open a MNS session with you and notify you of incoming messages. You'll also need to advertise your MNS service using Bluetooth SDP.
Enjoy!
http://www.sustworks.com/pa_guide/sms.html

Resources