我需要能够点击一个按钮,以便它将加载一个网页。问题是我不想让它在safari中打开页面,但我希望网页在后台加载,这样我就可以按其他按钮在后台加载其他页面。
原因:
我已经开发了一种遥控灯,可以通过互联网或我的本地ip(192.168.0.3)进行操作。这个网页是装在树莓上的,如果我打开“192.168.0.3/on.php”,灯就会亮起来。如果我打开“192.168.0.3/off.php”,灯就会熄灭。我想做的是为我自己制作这个应用程序,这样我就不必每次想改变灯的状态时都更改ip,只需按下一个按钮,在后台加载页面。
另外,我知道如何添加按钮功能。我只需要知道如何在后台加载。
最佳答案
下面是一个关于如何发送带有NSURLConnection
的GET请求以触发raspberry pi上的开关的示例:
func switchOn() {
let url = NSURL(string: "http://192.168.0.3/On.php")
let request = NSURLRequest(URL: url!)
NSURLConnection.sendAsynchronousRequest(request, queue: NSOperationQueue.mainQueue()) {(response, data, error) in
// do something with the response if you want to
}
}
请注意,苹果在iOS9中引入了应用程序传输安全性。这是一个新的安全特性,在处理web请求时强制执行某些安全实践。例如,它不允许通过HTTP发送请求,因为它只允许HTTPS请求。好消息是,您可以通过将其添加到项目的Info.plist文件中来覆盖这些安全要求:
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>