容器更新后编译时出错"'sharedApplication' is unavailable: not available on iOS (App Extension)...."



我有一个项目(包括应用程序扩展)使用cocoapods。(使用Parse, Bolts等库).

所有工作正常之前(使用螺栓1.1.5库),但是,当我运行pod更新(螺栓1.2.0),我现在得到一些错误:

"/2卷/项目/豆荚/螺钉/螺栓/iOS/BFAppLinkNavigation。[00:100:29] 'sharedApplication'不可用:在iOS(应用扩展)上不可用-在适当的地方使用基于视图控制器的解决方案。"

你知道怎么解决这个问题吗?

Cocoapods非常有用(我敢肯定),但它们是设计用于应用程序的,而不是应用程序扩展,最终你会在更新过程中失去对它们引入的功能的控制,所以你需要根据它们使用的api来判断你使用的库的版本。

在螺栓1.2.0的情况下,它显然决定使用sharedApplication,因此使它不适合在应用程序扩展中使用。

所以你需要开始使用源代码形式的库,也许对每个库使用git submodule,这将允许你在上游更新时更新它们。

这是一个与Cocoapods项目设置有关的问题

你可以在这里找到答案

UIApplication

。sharedApplication不可用

参考这个,它会帮助你:

https://github.com/AFNetworking/AFNetworking/issues/2119

我已经将cocoapods降级到0.35.2

如果你有更干净的解决方案,我愿意!

对于那些因为Xcode 13 Beta 3而遇到这个问题的人,你可以在你的应用程序中解决这个错误,或者通过显式标记标记该方法为不可用来为导致这个问题的第三方依赖打开一个票证。

@available(iOSApplicationExtension, unavailable)

相关内容

最新更新