单击主应用程序中的按钮执行iMessage Extension应用程序

时间:2018-02-23 09:07:48

标签: swift4 deep-linking imessage-extension

是否可以通过单击按钮从主应用程序(使用Swift4开发)启动我的iMessage应用程序扩展?我已经在商店发布了应用程序,但我不知道该怎么做。

2 个答案:

答案 0 :(得分:1)

您应该可以通过为您的应用使用相同的iTunes链接,并添加一个?app=messages

查询参数来做到这一点。

以星巴克为例,其App Store URL为

https://itunes.apple.com/us/app/starbucks/id331177714

但是启动iMessage并拉起iMessage应用程序的URL是

https://itunes.apple.com/us/app/starbucks/id331177714?app=messages

答案 1 :(得分:0)

据我所知,直到iOS 12.1为止

这是一项长期存在的要求-从扩展到应用,您只能朝一个方向前进。

There's a forum discussion从2016年开始,答案是不可能的。另一个2018 forum question没有回应。

从扩展程序到应用程序,请使用网址查看技巧described in this blog

guard let url: URL = URL(string: "AppName://?myParam=myValue") else { return }

self.extensionContext?.open(url, completionHandler: { (success: Bool) in

 })

调用上面的代码将打开电话应用。

您可以在电话应用的应用程序委托中访问URL参数:

func application(_ app: UIApplication, open url: URL, options: [UIApplicationOpenURLOptionsKey : Any] = [:]) -> Bool {

return true

}