10

WatchOS2 アーキテクチャをサポートするようにプロジェクトを変更しようとしています。現在、AFNetworking に基づくネットワーク フレームワークを使用しています。今まで時計アプリで使っていました。現在、watchos/watchsimulator プラットフォームのフレームワークを構築しようとしています。

私が得ているのは、一部の AFNetworking クラスの「SystemConfiguration/SystemConfiguration.h」ファイルが見つからないというエラーです。

システム構成は、watchOS2 で使用できるシステム フレームワークの 1 つではありません。そしてネットワーキングのためにアップルは言う

ネットワーキング

ネットワークベースの操作のサポートには、次のテクノロジが含まれます。

WatchKit 拡張機能は、NSURLSession オブジェクトを使用してネットワークに直接アクセスできます。WatchKit 拡張機能は、バックグラウンドでファイルをダウンロードする機能など、NSURLSession 機能に完全にアクセスできます。このクラスの使用方法については、URL Loading System Programming Guide を参照してください。Watch Connectivity フレームワークは、Watch アプリと iOS アプリ間の双方向通信をサポートします。このフレームワークを使用して、2 つのアプリ間のアクティビティを調整します。詳細については、コンパニオン iOS アプリとの通信を参照してください。

ネットワーク SDK で iOS と watchos の両方をサポートしたいと考えています。このプロジェクトを watchOS プラットフォーム用にビルドする方法はありますか? それとも、時計アプリ内でのみ NSURLConnection の使用が許可されているということですか?

4

2 に答える 2

1

これは、AFNetworking が watchOS をサポートするための github での最近のコミットです。

チェンジログを見ると..

バージョン 2.6.0 は watchOS をサポートしています...

このリリースは、Xcode 7 および iOS 9/watchOS 2.0/OS X 10.10 にのみ存在するターゲット条件に依存する watchOS 2.0 をサポートするようになりました。CocoaPods を使用してライブラリをインストールすると、AFNetworking はこれらのターゲット条件を古いプラットフォーム用に定義し、コードをコンパイルできるようにします。Cocoapods を使用しない場合は、次のコードを PCH ファイルに追加する必要があります。

于 2015-08-28T17:45:04.680 に答える
1

AFNetworkingのドキュメントによると:

URL 読み込み URL 読み込みシステムで最も一般的に使用されるクラスを使用すると、アプリでソースから URL のコンテンツを取得できます。アプリの要件に応じて、さまざまな方法でそのコンテンツを取得できます。選択する API は、アプリが対象とする OS X または iOS のバージョンと、データをファイルとして取得するかメモリ内のデータ ブロックとして取得するかによって異なります。

  • iOS 7 以降または OS X v10.9 以降では、NSURLSession が URL 要求を実行する新しいコードに推奨される API です。

そのページの図を見ると、AFNetworking が実際に NSURLSession を使用している場合があることがわかります。ただし、SystemConfiguration フレームワークはウォッチキットでは使用できないため、iOS アプリとウォッチキット アプリの両方に AFNetworking を含めるには、その依存関係を削除する必要があります。

AFNetworking がこのフレームワークを何に使用するかはわかりませんが (おそらく非常に重要です!)、時計アプリでこれらの設定を必要としない特定のファイルがある場合は、AFNetworking のソース コードを変更して、それらの項目を含めないようにすることができます。時計アプリ:

#if os(iOS)
// Include SystemConfiguration framework
#elseif os(watchOS)
// Exclude SystemConfiguration framework
#endif
于 2015-08-18T17:22:47.110 に答える