试图让应用程序启动URL的默认浏览器,但前提是输入的URL有效,否则会显示一条消息,说明URL无效.

我如何使用Swift判断有效性?

推荐答案

如果您的目标是验证应用程序是否可以打开URL,那么下面是您可以做的.虽然safari可以打开该URL,但该网站可能不存在或已关闭.

// Swift 5
func verifyUrl (urlString: String?) -> Bool {
    if let urlString = urlString {
        if let url = NSURL(string: urlString) {
            return UIApplication.shared.canOpenURL(url as URL)
        }
    }
    return false
}

作为补充说明,这并不判断URL是否有效或完整.例如,通过"https://"的调用返回true.

Swift相关问答推荐

为什么在Swift属性Wrapper中需要类型注释?

更改正在进行的异步任务的完成(SWIFT并发)(&q;)?

.onReceive NSWindow.CloseNotify是否会为App中的每个窗口调用?

在SWIFTUI&39;S视图修改器中使用等待关键字

在Xcode SWIFT中运行用Ionic编写的函数

SwiftData:非法try 在不同上下文中的对象之间建立关系

如何在应用程序区域永久更改 NSCursor?

如何为我的项目设置生命周期选项?

如何删除快速处理消息

SwiftUI 从任务中安全更新状态变量

使用 WrappingHStack 文本溢出到新行

在 Vapor 4 中使用协议的通用流利查询

Swift 非参与者隔离闭包

如何从另一个 swift 文件中调用函数

在 Swift 中返回实例类型

UICollectionView 自定义单元格在 Swift 中填充宽度

在 Swift 中覆盖 UIScrollView 的委托属性(就像 UICollectionView 一样)

swift 中的@property/@synthesize 类似功能

Void 函数中意外的非 Void 返回值 (Swift 2.0)

如何在 SwiftUI 中的一个视图上显示两个alert ?