Swift – “共享应用程序不可用”。 代之以使用视图控制器的解决scheme
我打开一个外部URL在我的Swift应用程序使用行:
UIApplication.sharedApplication().openURL(url)
这工作正常,直到我通过CocoaPods添加Realm到我的项目。 在这一点上,它开始给我下面的两个编译错误:
'sharedApplication()'不可用:取而代之,使用基于视图控制器的解决scheme。
“openURL”不可用
这些错误表明该API对于应用程序扩展是不可用的,但是我的代码位于正常的应用程序中,而不是扩展名。 为什么添加Realm导致编译器认为它在App Extension中?
您不能使用应用扩展程序中的sharedApplication
。
但请注意,苹果文档指出:
重要
Apple允许任何Today小部件使用openURL:completionHandler:方法来打开小部件自己包含的应用程序。
ExtensionOverview。
将Realm添加到使用V0.39之前的CocoaPods版本的项目时,可能会出现这个问题。 要修复它,请使用以下命令更新到最新版本的CocoaPods:
sudo gem install cocoapods
这个问题是由于CocoaPods问题#3906 ,导致部分Realm的configuration设置被应用到你的应用程序的目标。 Realm启用的其中一个设置是“仅允许应用扩展程序API”,这就是为什么您最终会看到此特定错误的原因。
- 在Core Graphics中创build具有多个颜色段的圆
- 将文本字段限制为一个小数点input,仅限数字,小数点后两个字符 – Swift 3
- 与session.dataTaskWithRequest UIAlertView问题
- Xcode 7 Swift 2无法实例化通用UITableViewController的UIViewController子类
- 如何从Swift中获取NSValue的值?
- 迅速正确使用getters和setter
- 如何将types方法添加到Swift中的genericstypes?
- 如何为在xcode中使用swift制作的spritekit游戏创build主菜单?
- 设置SKSpriteNode的可触摸区域