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];
}