Xcode 7禁止弃用警告

时间:2015-10-20 11:23:39

标签: swift2 xcode7 suppress-warnings

为了兼容性,我很遗憾地需要使用在iOS 9中弃用的方法,并且它会生成警告,在尝试15小时后我无法抑制。 示例:

'CFWriteStreamCreateWithFTPURL' was deprecated in iOS 9.0: Use NSURLSessionAPI for ftp requests'

我试过了:

  1. project> target> Build Phases>点击相应的文件,然后选择flag -w
  2. 项目>目标>构建阶段>点击相应的文件,然后选择标记 - (错误的特定标志)
  3. 项目>项目>构建设置> Apple LLVM 7.0 - 警告 - 所有语言>折旧功能>否
  4. 项目>项目>构建设置> Apple LLVM 7.0 - 警告 - 目标C>覆盖折旧目标C方法>否
  5. 尝试找到pragma替代方案,但看起来似乎不可能
  6. 编辑:无论设备上的操作系统版本是什么,我都需要使用折旧方法
  7. 我可以在ObjC中抑制警告,但它似乎在Swift 2.0中不起作用,我不得不承认它开始真的让我感到烦恼,我知道我最终必须使用不同的方法,但是现在它是不可能的。

    如何抑制Xcode 7 / Swift 2中的警告?

2 个答案:

答案 0 :(得分:1)

我是那个问过上面这个问题的人,如果有人在这里寻找同样问题的答案,那么我到目前为止找到的是: 点1-6在swift中无效,因为没有预编译器。 (如果确实如此,我希望苹果在我尝试使用-w时会警告我)

如果您确实需要使用已弃用的方法并且不愿意忍受它生成的警告,那么您可以将该部分代码添加为框架并编译项目的该部分以用于以前的OS版本。最好不要使用弃用的方法! http://www.rockhoppertech.com/blog/swift-framework-creation/

我希望这对某人有帮助,如果有错,请告诉我为什么以及如何:)

答案 1 :(得分:0)

最简单的方法是让Objective-C文件中包含与已弃用的方法具有相似名称的方法,然后调用它们。我们不推荐使用methodX,然后添加

try {

}
Catch(error)
{

}

并放置一个编译器指令来忽略不推荐使用的方法。有什么不错的,它会告诉你使用弃用方法的代码到底在哪里,因为最终你想摆脱它们(当iOS 11发布时)