ios - Xcode 8 打开新的苹果 map

标签 ios swift nsurl

需要一些帮助。这是我的代码,当我单击 GoMap 按钮时,系统提示我此错误 fatal error :在解包可选值时意外发现 nil

@IBAction func GoMap(_ sender: UIButton) {   
 UIApplication.shared.openURL(NSURL(string: "http://maps.apple.com/maps?saddr=1 Republic Boulevard , Singapore 038975")! as URL)

}

最佳答案

您的网址无效。空格需要转义为 %20:

URL(string: "http://maps.apple.com/maps?saddr=1%20Republic%20Boulevard,%20Singapore%20038975")!

或者,使用 URLComponent + URLQueryItem 让系统为您转义:

var components = URLComponents(string: "http://maps.apple.com/maps")!
components.queryItems = [URLQueryItem(name: "saddr", value: "1 Republic Boulevard, Singapore 038975")]
let url = components.url!
UIApplication.shared.openURL(url)

关于ios - Xcode 8 打开新的苹果 map ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42053395/

相关文章:

ios - Firebase-数据库结构效率与平坦度

ios - 使用 GCD 异步加载指向服务器上图像的本地 JSON 文件

objective-c - 检测对 iOS 有效的 URL

ios - 从文件的NSURL->编辑数据文本,然后转回URL = NULL

ios - 尝试检索图像 - 出现 EXC_BAD_ACCESS 错误

ios - SwiftUI 中具有可变数量选项卡的自定义选项卡栏

ios - 为什么 NSFetchedResultsController 的 fetchedObjects 数组并不总是同质的

arrays - 为标签数组中的文本分配不重复的随机数 Swift

ios - 日期键的快速编码

iOS - 推送内容