14

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

之前一切正常(使用螺栓 1.1.5 库),但是,当我运行 pod 更新(螺栓 1.2.0)时,我现在遇到一些错误:

“/Volumes/project 2/Pods/Bolts/Bolts/iOS/BFAppLinkNavigation.m:100:29:‘sharedApplication’不可用:在 iOS(应用程序扩展)上不可用 - 在适当的情况下使用基于视图控制器的解决方案。”

任何想法如何解决这个问题?

4

5 回答 5

3

Cocoapods 非常有用(我敢肯定),但是它们旨在与应用程序一起使用,而不是应用程序扩展,最终您会失去对它们在更新期间引入的功能的控制,因此您需要更加谨慎地了解哪些版本您使用的库,基于它们使用的 API。

在 Bolts 1.2.0 的情况下,显然决定使用sharedApplication,因此不适合在 App Extension 中使用。

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

于 2015-08-16T07:10:33.537 回答
2

那是与Cocoapods项目的设置有关的问题

你或许可以在这里找到答案

UIApplication.sharedApplication 不可用

于 2016-07-18T10:09:41.417 回答
1

只需参考this,它将帮助您:

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

于 2015-10-21T10:39:49.697 回答
0

我已经通过将 cocoapods 降级到 0.35.2 来解决这个问题

如果您有更干净的解决方案,我很乐意!

于 2015-08-16T17:04:33.413 回答
0

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

@available(iOSApplicationExtension, unavailable)

于 2021-07-26T14:37:46.337 回答