31

私は現在 iOS 6 にアップグレードしているプロジェクトで最も優れたAFNetworkingライブラリを使用しています。私はアップグレードの途中で、iOS 6 SDK に対してコンパイルするときに表示される一連の警告を減らしています。

AFNetworking は、すべてのターゲットで 2 つの警告を表示します。

SystemConfiguration framework not found in project, or not included in
precompiled header. Network reachability functionality will not be available.

MobileCoreServices framework not found in project, or not included in
precompiled header. Automatic MIME type detection when uploading files
in multipart requests will not be available.

ただし、ここに問題があります。これらの 2 つlibraries すべての my に追加されますtargets。これらの警告を適切な方法で取り除きたいです。AFNetworkingファイルを変更しません。Xcodeがばかげているのではないかと思います。確かに小さなことですが、警告を残しておくのは悪い習慣です。

これらの警告を削除するにはどうすればよいですか?

Xcodeを再起動してクリーニングを試みました。どちらも機能しません。

4

3 に答える 3

75

CocoaPodsを使用しているかどうかはわかりませんが、これは AFNetworking Github ページで追跡されている既知の問題です。

正しい import ステートメントを `PROJECTNAME-Prefix.pch に直接追加することで、これを修正できました。これに変更しました。

#ifdef __OBJC__
  #import <UIKit/UIKit.h>
  #import <SystemConfiguration/SystemConfiguration.h>
  #import <MobileCoreServices/MobileCoreServices.h>
#endif

そこに何か他のものがある場合は、それを削除しないでください。SystemConfiguration と MobileCoreServices のインポートを追加するだけです。

OS X の場合:

#ifdef __OBJC__
    #import <Cocoa/Cocoa.h>
    #import <SystemConfiguration/SystemConfiguration.h>
    #import <CoreServices/CoreServices.h>
#endif
于 2012-11-20T18:17:50.010 に答える
1

これはすでに回答されていますが、OS X と iOS の両方でコンパイルされる可能性のあるコマンド ライン ツールを開発している場合 (App Store ではないことは確かです)、これを追加できます。

#ifdef __OBJC__
    #import <Foundation/Foundation.h>
    #import <SystemConfiguration/SystemConfiguration.h>

    #if TARGET_OS_IPHONE
        #import <MobileCoreServices/MobileCoreServices.h>
    #elif TARGET_OS_MAC
        #import <CoreServices/CoreServices.h>
    #endif

#endif

コンパイル先のターゲットを評価することにより、適切なファイルが含まれます。

于 2013-08-09T21:08:23.117 に答える