2017-10-16 67 views
1

我有一個應用程序,我想添加消息擴展功能。iOS消息擴展程序如何直接切換主機應用程序

我認爲功能是,如果用戶選擇一條消息,它直接切換我的主機應用程序像谷歌地圖。

我做了一個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)") 
} 

,我在

willBecomeActive(with conversation: MSConversation) 
didReceive(_ message: MSMessage, conversation: MSConversation) 
當然

寫了一碼extensionContext.open(URL,completionHandler),我解析selectedMessage的URL。

但它沒有工作我期望。

消息擴展開關自動擴展模式。

如果我用

conversation.insertText("myHostAppLaunchScheme", nil) 

,但我不希望它,因爲它不能添加模板:(

它的工作原理是有什麼想法切換iMessage的直接主持的應用程序?

感謝您的任何想法。

回答

1

我想我找到了答案。

沒有辦法使用

conversation.insert(message, completionHandler) 

我認爲蘋果的音樂和Google Maps使用

conversation.insertText("some url", completionHandler) 

因爲我長按後複製的URL這是由蘋果的音樂或谷歌地圖

共享信息

然後我使用URL在我的代碼

conversation.insertText("the URL", completionHandler) 

它的工作,他們ð ID!!

相關問題