使用 UIApplication.shared.open 连续调用多个 URL - 仅先打开

Posted

技术标签:

【中文标题】使用 UIApplication.shared.open 连续调用多个 URL - 仅先打开【英文标题】:Calling multiple URLs in succession using UIApplication.shared.open - only opens first 【发布时间】:2018-07-24 17:23:49 【问题描述】:

我正在尝试通过在 Xcode/Swift for iPad 中连续打开多个 URL 来创建 wifi 发束测试。它似乎只打开了第一个成功。 “sleep(x)”调用没有区别。代码sn-p:

func counter()

    seconds -= 1
    label.text = String(seconds) + " Seconds"

    if (seconds == 0)
    

        let url1 = URL(string: "http://www.wix.com")!
        let url2 = URL(string: "http://www.activistpost.com")!
        let url3 = URL(string: "http://www.time.com")!
        let url4 = URL(string: "http://www.steemit.com")!
        let url5 = URL(string: "http://www.youtube.com")!
        let url6 = URL(string: "http://www.cptts.net/61m.jpg")!

        if #available(ios 10.0, *) 
            UIApplication.shared.open (url1)
            sleep (5)
            UIApplication.shared.open (url2)
            sleep (5)
            UIApplication.shared.open (url3)
            sleep (5)
            UIApplication.shared.open (url4)
            sleep (5)
            UIApplication.shared.open (url5)
            sleep (5)
            UIApplication.shared.open (url6)

         else 
           // Fallback on earlier versions
        

Xcode 10.0 Beta 2

【问题讨论】:

仅供参考 - 永远不要在主队列上“睡觉”。 【参考方案1】:

我正在尝试创建一个 wifi 发丝测试

好吧,这不是怎么做的。另外,我想知道您是否真的需要这样做;开发者工具已经允许您模拟繁忙的网络进行测试。

【讨论】:

感谢您的回复。作为一名 wifi 测试人员,我想开发自己的测试应用程序,可以自定义(也用于 Xcode 开发人员的自学)。我发布的只是一个sn-p。 Wifi 测试仪,嗯?也许你想用 NSUrlSession 加载网站?【参考方案2】:

正如我从Apple documentation 引述的那样,它似乎只会执行第一个应用程序将退出,如果找到它会启动另一个应用程序。

您传递给此方法的 URL 可以识别应用程序中的资源 调用该方法或要由另一个应用程序处理的资源。如果 资源将被另一个应用程序处理,调用此方法可能 导致调用应用程序退出,以便其他应用程序可以启动。

因此,您的应用最终会退出,然后您的其他调用将不会被执行。

【讨论】:

以上是关于使用 UIApplication.shared.open 连续调用多个 URL - 仅先打开的主要内容,如果未能解决你的问题,请参考以下文章

在使用加载数据流步骤的猪中,使用(使用 PigStorage)和不使用它有啥区别?

今目标使用教程 今目标任务使用篇

Qt静态编译时使用OpenSSL有三种方式(不使用,动态使用,静态使用,默认是动态使用)

MySQL db 在按日期排序时使用“使用位置;使用临时;使用文件排序”

使用“使用严格”作为“使用强”的备份

Kettle java脚本组件的使用说明(简单使用升级使用)