Ios Swift:无法从uiCollectionView中的extensioncontext打开url?

Ios Swift:无法从uiCollectionView中的extensioncontext打开url?,ios,swift,url,imessage-extension,Ios,Swift,Url,Imessage Extension,好的,我正在构建一个带有uicollectionview和页眉页脚的消息扩展应用程序。经过几次尝试,我了解了为什么无法使用正常语法从消息控制器打开url,因为它应该使用以下扩展: let url: URL = URL(string: "http://www.google.com")! self.extensionContext?.open(url, completionHandler: { (success: Bool) in print("hi") })

好的,我正在构建一个带有uicollectionview和页眉页脚的消息扩展应用程序。经过几次尝试,我了解了为什么无法使用正常语法从消息控制器打开url,因为它应该使用以下扩展:

  let url: URL = URL(string: "http://www.google.com")!
    self.extensionContext?.open(url, completionHandler: { (success: Bool) in
        print("hi")
    })
这可以编译,但在MessageViewController文件中不起作用。我不知道为什么,但在我的

class FooterCollectionReusableView: UICollectionReusableView {
这甚至不能编译。我得到了错误


如何在邮件扩展中从页脚打开url?这可能吗?

看起来您正在调用
FooterCollectionReusableView
上的extensionContext。
extensionContext
UIViewController
的属性,因此如果要从视图引用它,则需要保留对父视图控制器的extensionContext的引用,或者,这将允许您调用父视图控制器来执行需要使用extensionContext执行的任何操作。

看起来您正在
FooterCollectionReusableView上调用extensionContext。

extensionContext
UIViewController
的属性,因此如果要从视图引用它,则需要保留对父视图控制器的extensionContext的引用,或者,这将允许您调用父视图控制器来执行需要使用extensionContext执行的任何操作。

是的,但问题是url即使在messageviewcontroller中也没有打开-它只是完成了完成块,但不打开Safari可能是因为从技术上讲,Today扩展是唯一一个应该打开其他应用程序的扩展。这个问题可能更为具体是的,但问题是url甚至在messageviewcontroller中也没有打开-它只是完成了完成块,但没有打开Safari。这可能是因为从技术上讲,Today扩展是唯一一个应该打开其他应用程序的扩展。这个问题将更加具体