很遗憾,为了兼容性,我需要使用iOS 9中已弃用的方法,它会生成警告,我尝试了15个小时后仍无法抑制。例如:
'CFWriteStreamCreateWithFTPURL' was deprecated in iOS 9.0: Use NSURLSessionAPI for ftp requests'
我试过:
- project〉target〉Build Phases〉点击适当的文件,然后选择flag -w
- project〉target〉Build Phases〉点击适当的文件,然后选择flag -(错误的特定标志)
1.项目〉项目〉构建设置〉Apple LLVM 7.0 -警告-所有语言〉折旧函数〉否
1.项目〉项目〉构建设置〉Apple LLVM 7.0 -警告-目标C〉改写折旧目标C方法〉否
1.试图查找杂注替代项,但似乎不可能
1.编辑:无论设备上的操作系统版本如何,我都需要使用折旧方法
我可以在ObjC中抑制警告,但它在Swift 2.0中似乎不起作用,我不得不承认,它开始真正困扰我,我知道我最终必须使用不同的方法,但现在这是不可能的。
如何在Xcode 7/Swift 2中抑制警告?
2条答案
按热度按时间ryoqjall1#
我是一个谁问了上面的问题,如果有人在这里寻找答案,同样的问题,这里是我已经发现到目前为止:第1-6点在swift中是无效的,因为没有预编译器。(如果真的是这样,我希望苹果在我试图使用-w时警告我)
如果你真的需要使用过时的方法,并且不愿意忍受它产生的警告,那么你可以将你的代码的这一部分作为一个框架添加,并为以前的操作系统版本编译你的项目的这一部分。最好根本不使用过时的方法!http://www.rockhoppertech.com/blog/swift-framework-creation/
我希望这对某人有帮助,如果它是错误的,那么请告诉我为什么和如何在下面:)
oymdgrw72#
最简单的方法是在Objective-C文件中填充与已弃用的方法名称相似的方法,然后调用它们。
并在这周围放一个编译器指令来忽略弃用的方法。好的地方在于它告诉你在代码中你到底在哪里使用了弃用的方法,因为最终你会想摆脱它们(当iOS 11发布时)