UIApplication クラス メソッドにアクセスしようとしていたため、アプリ拡張機能で AFNetworking ライブラリを使用できません。UIApplication クラスにアクセスしない、他の優れたネットワーク ライブラリをここで知っている人はいますか? 提案してください。
2 に答える
iOS 8 拡張機能のサポートされていない機能に関する Guardからの引用#2589
この問題を修正するには、Pods-hitta.se WatchKit Extension-AFNetworking ターゲットのプリプロセッサ マクロとして AF_APP_EXTENSIONS=1 を配置する必要がありました。#define AF_APP_EXTENSIONS をプレフィックス ヘッダーに追加しても機能せず、ウォッチ拡張ターゲットにプリプロセッサ マクロとして追加しても機能しませんでした。
Project Navigator で Pods プロジェクトをクリックし、Pods-{your-app-name-extension}-AFNetworking を選択します。次にビルド設定に移動し、「AF_APP_EXTENSIONS=1」で新しい行を追加するプリプロセッサ マクロを見つけます。
また、最初に+#if !defined(AF_APP_EXTENSIONS)でラップします。そして終了+#endif
ラッピングの完全な例:
- (void)updateNetworkActivityIndicatorVisibility {
+#if !defined(AF_APP_EXTENSIONS)
[[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:[self isNetworkActivityIndicatorVisible]];
+#endif
}
AFNetworking を拡張機能で使用できます。以下の指示に従うだけです。
アプリ拡張機能で AFNetworking を使用する場合は、AF_APP_EXTENSIONS を #define して、使用できない API を使用しないようにします。