Swift 3 iMessage Extension无法打开URL [英] Swift 3 iMessage Extension doesn't open URL
本文介绍了Swift 3 iMessage Extension无法打开URL的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在创建一个iOS应用程序iMessage扩展。
I am creating an iOS Application iMessage Extension.
根据 Apple的例子,我根据提供的逻辑创建一条消息
According to Example by Apple, I creating a message according to provided logic
guard let url: URL = URL(string: "http://www.google.com") else { return }
let message = composeMessage(url: url)
activeConversation?.insert(message, completionHandler: { [weak self] (error: Error?) in
guard let error = error else { return }
self?.presentAlert(error: error)
})
还
private func composeMessage(url: URL) -> MSMessage {
let layout = MSMessageTemplateLayout()
layout.caption = "caption"
layout.subcaption = "subcaption"
layout.trailingSubcaption = "trailing subcaption"
let message = MSMessage()
message.url = url
message.layout = layout
return message
}
和
private func presentAlert(error: Error) {
let alertController: UIAlertController = UIAlertController(
title: "Error",
message: error.localizedDescription,
preferredStyle: .alert
)
let cancelAction: UIAlertAction = UIAlertAction(
title: "OK",
style: .cancel,
handler: nil
)
alertController.addAction(cancelAction)
present(
alertController,
animated: true,
completion: nil
)
}
据我所知,在发送邮件后,点击后,应该打开Safari浏览器。
As far as I understand, after message is sent, on a click, Safari browser should be opened.
当我点击一个发送消息, MessageViewController
屏幕在整个屏幕上进行,无需打开safari或其他应用程序。
When I click on a sent message, MessageViewController
screen takes place in whole screen, without opening safari or another app.
问题出在哪里?如何实现所需的功能?
Where is the problem? How can I achieve desired functionality?
推荐答案
我认为safari浏览器只对macOS打开。这对我有用:
I think safari Browser only opens for macOS. This worked for me:
override func didSelectMessage(message: MSMessage, conversation: MSConversation) {
if let message = conversation.selectedMessage {
// message selected
// Eg. open your app:
let url = // your apps url
self.extensionContext?.openURL(url, completionHandler: { (success: Bool) in
})
}
}
这篇关于Swift 3 iMessage Extension无法打开URL的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文