UIApplication.sharedApplication() 不可用
UIApplication.sharedApplication() is unavailable
我刚刚从XCode 6.4 升级到Xcode 7 GM 并开始更改代码以符合Swift 2。我无法克服以下错误。
该项目是一个键盘扩展,代码段来自包含的应用程序。
let s = "https://itunes.apple.com/"
UIApplication.sharedApplication().openURL(NSURL(string : s)!)
错误 1:'sharedApplication()' 不可用:在适当的地方使用基于视图控制器的解决方案。
错误 2:'openURL' 不可用。
这可能与 Xcode 和 AppDelegate 有关,我可能搞砸了我的项目。
您无法通过扩展程序访问每个 API。来自 Apple 的扩展开发指南:
某些 API 无法用于应用程序扩展
由于其在系统中的集中作用,应用扩展没有资格参与某些活动。应用扩展不能:
访问一个 sharedApplication 对象,因此不能对该对象使用任何方法
等等等等
包含应用程序的 类 以某种方式进入了扩展构建阶段中的编译资源列表。我删除了它们,现在可以了。
我没有那样做。显然升级到 Xcode 7 GM 进程以某种方式做到了。
您的目标可能选中了 "Allow app extension API only" 选项。
检查目标的常规设置,看看是否在“部署信息”>“应用程序扩展”中启用了该选项。
Swift 3.0
在我的例子中,我在 Widget(这是一个扩展)中有这条消息,代码是来自我的应用程序的 copy/paste。就像 Tom Roggero 说的那样,我必须更换
UIApplication.shared.open(NSURL(string:"https://
来自
self.extensionContext?.open(NSURL(string:"https://
在做框架的时候。我遇到了这个问题。手动设置为 NO 解决了我的问题。
嗨,我解决了这个问题。
设置为允许 API 对提供此 e 的特定框架的扩展为否
像 IQKeyboardManager
这样的错误
考虑到您面临 IQKeyboardManager 的这个问题并且您使用 Pod 安装了这个框架。然后你的项目点击 Pod -> 点击 IqkeyboardManager。
并将允许 API 分机设置为否
我刚刚从XCode 6.4 升级到Xcode 7 GM 并开始更改代码以符合Swift 2。我无法克服以下错误。
该项目是一个键盘扩展,代码段来自包含的应用程序。
let s = "https://itunes.apple.com/"
UIApplication.sharedApplication().openURL(NSURL(string : s)!)
错误 1:'sharedApplication()' 不可用:在适当的地方使用基于视图控制器的解决方案。
错误 2:'openURL' 不可用。
这可能与 Xcode 和 AppDelegate 有关,我可能搞砸了我的项目。
您无法通过扩展程序访问每个 API。来自 Apple 的扩展开发指南: 某些 API 无法用于应用程序扩展
由于其在系统中的集中作用,应用扩展没有资格参与某些活动。应用扩展不能:
访问一个 sharedApplication 对象,因此不能对该对象使用任何方法
等等等等
包含应用程序的 类 以某种方式进入了扩展构建阶段中的编译资源列表。我删除了它们,现在可以了。
我没有那样做。显然升级到 Xcode 7 GM 进程以某种方式做到了。
您的目标可能选中了 "Allow app extension API only" 选项。
检查目标的常规设置,看看是否在“部署信息”>“应用程序扩展”中启用了该选项。
Swift 3.0
在我的例子中,我在 Widget(这是一个扩展)中有这条消息,代码是来自我的应用程序的 copy/paste。就像 Tom Roggero 说的那样,我必须更换
UIApplication.shared.open(NSURL(string:"https://
来自
self.extensionContext?.open(NSURL(string:"https://
在做框架的时候。我遇到了这个问题。手动设置为 NO 解决了我的问题。
嗨,我解决了这个问题。
设置为允许 API 对提供此 e 的特定框架的扩展为否 像 IQKeyboardManager
这样的错误考虑到您面临 IQKeyboardManager 的这个问题并且您使用 Pod 安装了这个框架。然后你的项目点击 Pod -> 点击 IqkeyboardManager。
并将允许 API 分机设置为否