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