【问题标题】:Xcode 7 Swift 2 Background page loadXcode 7 Swift 2 后台页面加载
【发布时间】:2016-01-31 08:11:09
【问题描述】:

我需要能够单击一个按钮才能加载网页。问题是我不希望它在 safari 中打开页面,但我希望网页在后台加载,以便我可以按其他按钮在后台加载其他页面。

原因:

我开发了一个遥控灯,可通过互联网或我的本地 ip (192.168.0.3) 操作。该网页已加载到覆盆子上,如果我继续“192.168.0.3/On.php”,灯就会亮起。如果我继续“192.168.0.3/off.php”,灯就会熄灭。我想做的是为自己制作这个应用程序,这样我就不必在每次想要更改灯的状态时都不断更改 ip,而只需按下一个在后台加载页面的按钮。

附:我知道如何添加按钮功能。我只需要知道如何在后台加载。

【问题讨论】:

  • 听起来你不需要像这样加载页面,你只需要请求它,因为它将在 Pi 上运行你的代码,看看 NSURLConnection。

标签: ios swift background load webpage


【解决方案1】:

这是一个示例,说明如何发送带有 NSURLConnection 的 GET 请求以触发您的树莓派上的开关:

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
    }
}

请注意,Apple 在 iOS9 中引入了 App Transport Security。这是一项新的安全功能,可在处理 Web 请求时强制执行某些安全实践。例如,它不允许通过 HTTP 发送请求,因为它只允许 HTTPS 请求。好消息是,您可以通过将其添加到项目的 Info.plist 文件中来覆盖这些安全要求:

<key>NSAppTransportSecurity</key>
<dict>
    <key>NSAllowsArbitraryLoads</key>
    <true/>
</dict>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-02-11
    • 2020-06-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-16
    • 1970-01-01
    相关资源
    最近更新 更多