0
私のアプリにiMessage extension
というターゲットを追加しています。拡張機能は、url
属性を持つメッセージを送信することになっています。ユーザーがメッセージに触れたときに期待している動作は、メッセージのurl
属性を使用してブラウザを開くことです。ios 11 imessage extension message.urlがサファリを開けません
私はこのコードを実行し、私のmessageView
でのボタンがあります。
override func didSelect(_ message: MSMessage, conversation: MSConversation) {
if let message = conversation.selectedMessage {
// message selected
// Eg. open your app:
self.extensionContext?.open(message.url!, completionHandler: nil)
}
}
:私はメッセージをタッチすると、それは私がこれを、その後を追加したMessageViewController
を展開し
@IBAction func labelButton(_ sender: Any) {
let layout = MSMessageTemplateLayout()
layout.imageTitle = "iMessage Extension"
layout.caption = "Hello world!"
layout.subcaption = "Test sub"
guard let url: URL = URL(string: "https://google.com") else { return }
let message = MSMessage()
message.layout = layout
message.summaryText = "Sent Hello World message"
message.url = url
activeConversation?.insert(message, completionHandler: nil)
}
をそして今、私がメッセージに触れると、それは私の主なアプリを開きますが、まだ私のブラウザは開きません。
私はSafari
で開くことが不可能であること(したがって、私はこのポストを開け、私はコメントすることはできません、)私は記事へのリンクを挿入し、開くためのメッセージでクリックで可能に
news appを持って
another postに見ている
記事がブラウザウィンドウに表示され、アプリがインストールされます。
誰かがブラウザウィンドウで強制的にリンクを開く方法を教えてください。
ありがとうございました。
'SFSafariViewController'を使うことができます。もう1つの記事では、メッセージ拡張機能からユーザーをSafariに呼び出せないことを指摘しています。 – beyowulf
あなたの答えをありがとう。私はブラウザにウィンドウを開くこのニュースアプリを持っていなかったなら、私は他の記事の答えを考えていただろう。 – radar