【问题标题】:iOS messages extension how to switch host app directlyiOS消息扩展如何直接切换主机应用程序
【发布时间】:2018-03-27 12:02:33
【问题描述】:

我有一个应用程序,我想添加消息扩展功能。

我认为该功能是如果用户选择一条消息,它会像谷歌地图一样直接切换我的主机应用程序。

我创建了一个 MSMessage 并设置了 URL,消息具有模板布局,其中包含标题和子标题。

let message = MSMessage()
message.url = "http://blahblah?customScheme=myHostAppLaunchScheme"
let template = MSMessageTemplateLayout()
template.image = sampleImage
template.caption = "this is a caption"
template.subCaption = "this is a sub caption"
message.layout = template

guard let conversation = activeConversation else {
      print("blahblah")
      return
}

conversation.insert(message) { (error) in
      print("finish. error = \(error == nil ? "nil"  : error!.localizedDescription)")
}

我在

中写了一个代码 extensionContext.open(url,completionHandler)
willBecomeActive(with conversation: MSConversation)
didReceive(_ message: MSMessage, conversation: MSConversation)

当然,我解析了 selectedMessage 的 URL。

但它并没有达到我的预期。

消息扩展自动切换扩展模式。

如果我使用它会起作用

conversation.insertText("myHostAppLaunchScheme", nil)

但我不想要它,因为它无法添加模板:(

有没有办法直接将 iMessage 切换到宿主应用程序?

感谢您的任何想法。

【问题讨论】:

    标签: ios swift ios-messages-extension


    【解决方案1】:

    我想我找到了答案。

    没有办法使用

    conversation.insert(message, completionHandler)
    

    我认为苹果音乐和谷歌地图正在使用

    conversation.insertText("some url", completionHandler)
    

    因为我在长按苹果音乐或谷歌地图共享的消息后复制了一个网址

    然后我在我的代码中使用 URL

    conversation.insertText("the URL", completionHandler)
    

    他们做到了!

    【讨论】:

      猜你喜欢
      • 2014-11-03
      • 2016-12-19
      • 1970-01-01
      • 1970-01-01
      • 2013-07-29
      • 1970-01-01
      • 2015-08-21
      • 2023-03-22
      • 1970-01-01
      相关资源
      最近更新 更多