I am developing a homekit bridge that I would like to connect to WiFi without the user having to enter it's credentials. So after googling and asking another question here, I found that I can use the EAWiFiUnconfiguredAccessoryBrowser class to share WiFi settings, but I could not find any documentation about what my hardware should implement in order to be picked up by that class. Any direction or suggestion that does not involve EAWiFiUnconfiguredAccessoryBrowser is welcome
Related
I want to scan for any device found in the network my device is currently connected to. I want to find their IP address and possibly more information so I can present the user a list of all devices in the network providing as much details as possible.
I have found example using getifaddrs. They kind of work, but, I am unable to see all of the devices I can see with an app like IP Scanner on the Mac app store.
In the process I have learned that the new Framework Apple is pushing is the Network framework.
I haven't been able to find many examples on how to possibly build an IP scanner using the Network framework. I think I may be able to achieve that using NWBrowser, but I am not sure as that seems to be strictly a Bonjour play.
Does anyone have example I could follow to learn how to build an IP scanner using the new Apple Network Framework?
I have a very specific question in programming an ios app.
In general when you open your ios wifi settings, there should be a list of available networks to choose.. so far..
now I want that in some cases, if a network meets specific requirements, a text is diplayed down below the network name (e.g. like "connect with WIFIAPP") and by clicking on the network you open the "WIFIAPP"..
Is there any possibility to do that and if yes, how? A framework or something like that?
Hope you guys understand my concern..
Thank you for any help!
Daniel
The feature you are after is implemented by the NEHotspotHelper class in the Network Extension Framework. In order to use this class you need to complete a questionnaire and be authorised by Apple.
More details are included in the Hotspot Network Subsystem Programming Guide, but essentially your app runs in the background and takes part in the network scanning process. It can provide an annotation for recognised networks and the user can invoke your app from Settings in order to complete the network authentication.
Unfortunately, access to wifi network parameters is completely closed from developers. From your app you can only tell apart if device is closed to wifi or 3G cellular network. Nothing more. I don't even say about native Settings app. You can do only some extra limited things outside of your app, like play music, or show your custom Widget.
Here is our app usage scenario:
There are two sections in our app, the first one is that we need load google map, and use google map apis, and the second one is that we need to connect to a personal wifi which can't connect to the public network. So the contradiction is that we can't use these two sections at the same time, if we connect to the personal wifi, we couldn't use google map, and when we disconnect to the wifi, we couldn't use the second section.
Does anybody have wonderful idea to solve this problem which has confused us a couple of days.
Thanks for any suggestion
Each wifi comes with its SSID, you can get the wifi SSID with CaptiveNetwork
Example on how to use it in this question
Basically if its your private wifi SSID then enable the 2nd, else enable google map stuff, i hope its what u want
I am scanning my local network and i am getting their ip and their mac address, but i want also the device name like "Hassan's Iphone" and type of device, so help me how can i get this.
thanks in advance
I think you need to have a look at something like in the following link:
Stumbler
We deal with anything wireless on the iPhone: 802.11, GSM, and Bluetooth.
Stumbler lets you view the wireless networks in your area. While right now Stumbler only handles 802.11 networks, soon you should see Bluetooth and GSM capabilities as well. Stumbler is still in a early Alpha stage, but it is fully functional, and pretty stable
However they also thoroughly mention that:
Stumbler can not be distributed through the app store, as it uses private APIs!
Following is the link to the blog post where I found the above Stumbler Google Code Project!
So I'm not sure even if what you require is possible to do, it won't be able to publish through the Apple App Store.
You better read the following StackOverflow answers too:
Programmatically finding IP address of another computer on LAN
gethostbyname xcode issues
https://stackoverflow.com/a/27099363/1752988
How Scan devices in a LAN network
Another blog post which mentioned about Stumbler tool
iOS. get other device/computer name by IP in the same local network
iOS - How to get device make and model?
LAN-Scan Git Hub Project
I think it's better next time before you put a StackOverflow Question please research on the web using Google and StackOverflow both together!
I am currently using an adapted reachabilty framework based on Apple's sample code.
The framework works fine, however it provides false postives.
If the user is attached to a wifi network where they are required to login before having a valid connection, the framework shows as an active connection when in fact it isn't.
An example of this is Starbucks' wifi where you must provide an email address before you get online.
Is there a way around this without pinging a certain address?
Currently I am using the reachabilityWithHostname function
Thanks
Daniel
Update as provided by the link below i see this is a limitation of the framework. Are others finding away to alert the user of this?
If your computer is connected to a Wi-Fi access point, but that access point's internet connection is down, reachability will tell you that yes, you have a network connection
Check out this link
Networking is playing an ever more important role in application
development, and Apple's reachability API is a valuable tool in making
network-centric apps play nicely with varying real-world conditions.
Today I'm going to give an overview of the reachability API, what it
does, and how to use it.
This should help you.