Swift2 Xcode 7禁止不推荐的警告

Swift2 Xcode 7禁止不推荐的警告,swift2,xcode7,suppress-warnings,Swift2,Xcode7,Suppress Warnings,很遗憾,为了兼容性,我需要使用ios9中不推荐使用的方法,并且在尝试15小时后,它会生成我无法抑制的警告。 例如: 'CFWriteStreamCreateWithFTPURL' was deprecated in iOS 9.0: Use NSURLSessionAPI for ftp requests' 我试过: 项目>目标>构建阶段>单击相应的文件,然后选择flag-w 项目>目标>构建阶段>单击相应的文件,然后选择标志-(错误的特定标志) 项目>项目>构建设置>苹果LLVM 7.0-警

很遗憾,为了兼容性,我需要使用ios9中不推荐使用的方法,并且在尝试15小时后,它会生成我无法抑制的警告。 例如:

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

  • 项目>目标>构建阶段>单击相应的文件,然后选择flag-w
  • 项目>目标>构建阶段>单击相应的文件,然后选择标志-(错误的特定标志)
  • 项目>项目>构建设置>苹果LLVM 7.0-警告-所有语言>折旧功能>否
  • 项目>项目>构建设置>苹果LLVM 7.0-警告-目标C>覆盖折旧的目标C方法>否
  • 已尝试查找pragma替代项,但似乎不可能
  • 编辑:无论设备上的操作系统版本是什么,我都需要使用折旧方法
  • 我可以在ObjC中抑制警告,但它在Swift 2.0中似乎不起作用,我必须承认它开始真正困扰我,我知道我最终必须使用不同的方法,但现在这是不可能的


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

    我是提出上述问题的人,如果有人在这里寻找同一问题的答案,请看我目前的发现: 第1-6点在swift中无效,因为没有预编译器。(如果真是这样,我希望苹果在我尝试使用-w时警告我)

    如果您确实需要使用不推荐使用的方法,并且不愿意忍受它生成的警告,那么您可以将代码的这一部分添加为框架,并为以前的OS版本编译项目的这一部分。最好不要使用不推荐的方法!


    我希望这对某些人有帮助,如果这是错误的,请在下面告诉我原因和方法:)

    最简单的方法是让Objective-C文件中包含与不推荐的方法名称相似的方法,然后调用它们。假设methodX已弃用,那么您可以添加

    - (void)methodX_deprecated {
        [self methodX];
    }
    

    并放置一个编译器指令来忽略不推荐使用的方法。很好的是,它告诉您在代码中使用不推荐的方法的确切位置,因为最终您希望摆脱它们(当iOS 11发布时)

    看看这个问题:感谢您的快速回复,但在您的线程中,条件编译似乎是建议的答案,但这对我来说可能不是一个好的解决方案,因为无论操作系统版本如何,我都需要使用折旧方法。因此,您可以桥接到objc,因为在objc中,您可以使用预编译器使警告静音,然后再桥接回您需要使用的弃用swift方法?