【发布时间】:2015-12-02 03:15:44
【问题描述】:
我正在使用以下行在我的 Swift 应用程序中打开一个外部 URL:
UIApplication.sharedApplication().openURL(url)
在我通过 CocoaPods 将 Realm 添加到我的项目之前,这一切正常。那时,它开始给我下面的两个编译错误:
'sharedApplication()' 不可用:使用基于视图控制器 适当的解决方案。
“openURL”不可用
这些错误表明 API 对 Application Extensions 不可用,但我的代码位于普通应用程序中,而不是扩展程序中。为什么添加 Realm 会导致编译器认为它在 App Extension 中?
【问题讨论】:
-
您是否使用包管理器来安装像 pod 一样的领域?如果您卸载 Realm,您的项目也会编译吗?并且请指定您使用的 Xcode 版本
-
我正在使用 Cocoapods 和 Xcode 7
-
UIApplication.sharedApplication() 和 Realm 没有关系,对吧?看来您正在使用扩展程序? [UIApplication sharedApplication] 不适用于扩展。
-
您使用的是哪个版本的 CocoaPods?
-
这不是 stackoverflow.com/questions/32609776/… 的副本。这里的问题是正在使用旧版本的 CocoaPods,a bug with it 导致来自 Realm 目标的设置应用于用户的应用程序目标。更新到 CocoaPods v0.39 或更新版本应该可以解决这个问题。