【问题标题】:Compiler Warnings with Mailgun/AFNetworkingMailgun/AFNetworking 的编译器警告
【发布时间】:2014-07-05 08:31:10
【问题描述】:
我的应用中有一些我不理解的编译器警告:
我已经使用 cocoapods 安装了 Mailgun 和 AFNetworking。我的主项目导入了 SystemConfiguration 和 MobileCoreServices 框架,但我仍然遇到这些问题。
这些警告是不必要的,无论如何我的应用程序都可以正常运行!
我将如何删除这些?
【问题讨论】:
标签:
ios
afnetworking
compiler-warnings
mailgun
【解决方案1】:
AFNetworking 需要链接 SystemConfiguration.framework 和 MobileCoreService.framework 并将它们导入到您的 *.pch 文件中。
为此,请进入目标的设置 -> 构建阶段选项卡 -> 将二进制文件与库链接
单击“+”按钮并选择这两个框架(SystemConfiguration 和 MobileCoreService)。
之后,打开您的 [Project name]-Prefix.pch 文件(默认在Supporting Files 组文件夹中)并添加
#import <SystemConfiguration/SystemConfiguration.h>
#import <MobileCoreServices/MobileCoreServices.h>
重要提示
如果您从 pod 安装,那么您还必须在 2 个地方导入它们:
1. Pods->AFNetworking->支持文件->Pods-AFNetworking-prefix.pch
2. Pods->maligun->Supporting Files->Pods-mailgun-prefix
【解决方案2】:
AFNetworking 库希望保留 #Warning 标志以显示警告。你不必担心。您仍然想抑制警告转到您的项目构建阶段>编译源>单击显示警告的文件>将-w添加到它。现在构建您的应用程序。但总的来说,我们不必担心库中存在的警告。
【解决方案3】:
请注意,禁止显示警告不是一个好习惯,
只是链接框架,无济于事,您需要将它们导入<project>.pch file
(请注意:并非所有 Pod 依赖项!,仅在您项目的 pch 文件中)
这是解决此问题的小指南!
1) 打开你的<project>.pch file(这是预编译的头文件)
2)确保你已经导入了框架
#import <SystemConfiguration/SystemConfiguration.h>
#import <MobileCoreServices/MobileCoreServices.h>