iOS Extension擴充套件開啟宿主應用

小大發表於2017-12-21

iOS Extension擴充套件開啟宿主應用

在Extension中我們很多時候想要開啟container app,來實現一些功能,但是在iOS 8.3之後官方禁用了系統方法,並且堵住了用webview開啟應用的方法。

關於官方給出的說法:官方文件

官方提供的方法:

[self.extensionContext openURL:[NSURL URLWithString:@"你自定義的 URL scheme"] completionHandler:^(BOOL success) {

}];

此方法只可以在today型別的擴充套件中使用。如果想在其他型別的Extension開啟container app(容器app)則需要使用下面的方法:

UIResponder *responder = self;

while (responder != nil) {

       if ([responder respondsToSelector:@selector(openURL:)]) {

           [responder performSelector:@selector(openURL:)

           withObject:[NSURL URLWithString:@"MobileArk://" ]

          afterDelay:0];

         return ;

    }

    responder = [responder nextResponder];

}

相關文章