无法在Xcode中构建错误"[method]已明确标记为不可用"

 mobiledu2502923573 发布于 2022-12-12 20:55

我在项目中没有改变任何内容,突然间我在构建设备时遇到了这些错误:

'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.schemeurlComponents.URL.并不是说我抱有很高的期望 - 我的代码没有受到影响,并且已经编好了几周没有问题.

我清理了产品和构建文件夹

我恢复了一个已知的工作提交

我关闭了项目,重新启动了Xcode,重新启动了操作系统,重新安装了Xcode

尝试运行调试和发布

尝试将部署目标更改为8.0

尝试在模拟器和设备上运行

在Xcode中唯一看起来不同的是,在我的项目名称下面写着"ios sdk 8.1".我记得之前曾经见过8.0,但我从来没有改过它,也没有办法改变它.不知道为什么会有任何不同.

Xcode版本6.1(6A1052d)

1 个回答
  • 如错误消息所示NSURLComponents(URL:resolvingAgainstBaseURL:),在您的情况下,构造函数是

    let urlComponents = NSURLComponents(URL: url, resolvingAgainstBaseURL: false);
    

    另请注意,这是一个"可用的初始化程序"(现在)并返回一个可选项.因此,您必须显式展开结果或使用可选绑定进行测试:

    if let urlComponents = NSURLComponents(URL: url, resolvingAgainstBaseURL: false) {
        // Use urlComponents ..
    } else {
        // failed
    }
    

    2022-12-12 20:58 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有