Today I have finished the development of free-WiFi sdk, it is a trouble work. The principle of the sdk is use the Apple's private api to scan the list of WiFi that we can find it in System Seting - WLAN on our iPhone. So we can connect it directly, of course, we should have the password first of all. So we call server interface use the list of WiFi's MAC as params to get the password of WiFi, then we can select WiFi free to connect, and the method of connect WiFi is private api also. After we connect a new WiFi, we should test it can connected whether or not. Before we call the method of connected, we add a listen for network status changed. When network changed to a reachable of WiFi, then begin to test speed of current network. After test speed, we know the real speed of the WiFi.