現在iOS 6にアップグレードしているプロジェクトで最も優れたAFNetworking
ライブラリを使用しています。アップグレードの最中です。 iOS 6 SDK。
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
areはすべてのtargets
に追加されます。これらの警告を適切な方法で削除したいのですが。 AFNetworking
ファイルは変更しません。 Xcodeがばかげているのではないかと思います。確かに小さなことですが、警告を残すことは悪い習慣です。
これらの警告を削除するにはどうすればよいですか?
Xcodeを再起動してクリーニングしてみました。どちらも機能しません。
CocoaPods を使用しているかどうかはわかりませんが、これはAFNetworking Githubページ で追跡されている既知の問題です。
これを修正するには、正しいインポートステートメントを `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
Swiftを使用している場合:XcodeはPrefix.pch
ファイルがコンパイルされる前にSwiftコードをコンパイルするため、正しいインポートが.pchファイルにある場合でもこれらの警告が表示されます。私が見つけた最良の解決策は、AFNetworkingをインポートする前に、それらをプロジェクトのBridging-Header.h
ファイルに追加することです。
#import <SystemConfiguration/SystemConfiguration.h>
#import <MobileCoreServices/MobileCoreServices.h>
#import "AFNetworking.h"
これはすでに回答されていますが、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
コンパイル先のターゲットを評価すると、適切なファイルが含まれます。