【发布时间】:2014-11-05 17:41:12
【问题描述】:
我的项目中没有任何更改,但在构建到我的设备时突然出现以下错误:
'componentsWithURL(_:resolvingAgainstBaseURL:)' is unavailable: use object construction 'NSURLComponents(URL:resolvingAgainstBaseURL:)'
'componentsWithURL(_:resolvingAgainstBaseURL:)' has been explicitly marked unavailable here (Foundation.NSURLComponents)
在这一行:
let urlComponents = NSURLComponents.componentsWithURL(url, resolvingAgainstBaseURL: false)
快速帮助说该方法(和类,NSSURLComponents)从“iOS(8.0 及更高版本)”开始可用。文档说“在 iOS 7.0 及更高版本中可用”。奇怪。
如果我按照错误中的说明使用构造函数,则在访问 urlComponents.scheme 和 urlComponents.URL 时会出现编译器错误。并不是说我寄予厚望——我的代码没有受到影响,并且已经编译好几个星期了,没有任何问题。
- 我清理了产品和构建文件夹
- 我恢复到一个已知的工作提交
- 我关闭了项目,重启了Xcode,重启了操作系统,重新安装了Xcode
- 尝试同时运行调试和发布
- 尝试将部署目标更改为 8.0
- 尝试在模拟器和设备上运行
在 Xcode 中唯一看起来不同的是,在我的项目名称下方,它显示“ios sdk 8.1”。我只记得以前在那里见过 8.0,但我从未更改过它,也没有选择将其更改回来。不知道为什么会有所不同。
Xcode 版本 6.1 (6A1052d)
【问题讨论】: