xcode 7 目标 c 警告 - 传递给需要非 null 参数的被调用方的 Null

xcode 7 Objective c Warning - Null passed to a callee that requires a non-null argument

提问人:Varun Kumar 提问时间:8/10/2016 最后编辑:Tom11Varun Kumar 更新时间:8/10/2016 访问量:1562

问:

更新 XCODE 7 后,我收到此警告,我试图摆脱它,但我找不到合适的解决方案:

CFRelease(CFNetworkCopyProxiesForURL((CFURLRef)theURL, NULL));

警告是:

传递给需要非 null 参数的被调用方的 Null

Objective-C iOS9 XCode7 警告

评论

0赞 Avi 8/10/2016
问题是什么?第二个参数不应为 NULL。使用 NULL 参数调用此方法甚至没有意义。
0赞 Avi 8/10/2016
立即发布结果就更没有意义了。您调用不执行任何操作的方法,然后对非结果执行任何操作。只需删除代码即可。
0赞 Varun Kumar 8/10/2016
代码来自库 此注释显示在代码之前 // From: developer.apple.com/samplecode/CFProxySupportTool/listing1.html // 解决<rdar://problem/5530166>。这个对 CFNetworkCopyProxiesForURL 的虚拟调用初始化 CFNetwork // CFNetworkCopyProxiesForAutoConfigurationScript 所需的某个状态。
0赞 Varun Kumar 8/10/2016
库是 // // ASIHTTPRequest.m // // 由 Ben Copsey 在 04/10/2007 创建。 版权所有 2007-2010 All-Seeing Interactive。保留所有权利。主要功能指南可在以下位置找到: // allseeing-i.com/ASIHTTPRequest // // 部分基于 Apple 的 ImageClient 示例: // 请参阅:developer.apple.com/samplecode/ImageClient/listing37.html @Avi
1赞 Avi 8/10/2016
ASIHTTPRequest 多年来一直未维护。不要使用它。时期。

答:

3赞 Varun Kumar 8/10/2016 #1

找到了摆脱此警告的黑客

 NSDictionary *proxySettings = NSMakeCollectable([(NSDictionary *)CFNetworkCopySystemProxySettings() autorelease]);
    CFRelease(CFNetworkCopyProxiesForURL((CFURLRef)theURL, (CFDictionaryRef)proxySettings));