关于报错:'sharedApplication' is unavailable: not available on iOS (App Extension) - Use view controller based

最近在看Extension相关知识的时候,自己写了个小demo

发现[UIApplication sharedApplication]这个方法敲不出来了,

总是报错:'sharedApplication' is unavailable: not available on iOS (App Extension) - Use view controller based.....

在网上找了一些觉得办法,大多都是在说把cocoapods卸载了重装的

但很明显  我的问题不是由于这个原因导致的

然后我问题的解决办法就是在pods Target里面,点击buildSettings  搜索Require

然后把Require Only App-Extension-Safe API 然后把YES改为NO即可

如图所示:

关于报错:'sharedApplication' is unavailable: not available on iOS (App Extension) - Use view controller based

在工程项目里也可按照这个方法去排查原因.

另外,在iOS 10.0以前的年代,打开一个网页或者进行跳转,直接使用[[UIApplication sharedApplication] openURL方法就可以了,但是在iOS10已经被废弃了,因为使用这种方式,处理的结果我们不能拦截到也不能获取到,对于开发是非常不利的,在iOS 10全新的推出了[UIApplication sharedApplication] openURL:nil options:nilcompletionHandler:^(BOOL success);有一个成功的回调block可以进行监视。

更多ios10新特性可阅读以下博客

iOS10---新特性以及适配点

上一篇:App Extension访问Cocoapods引入的第三方库


下一篇:iOS9中找不到XXX.dylib 与 is unavailable no availabel on ios (app extension) - use view controller 的解决办法