LoginSignup
16
16

More than 5 years have passed since last update.

SwiftとAFNetworkingの簡単サンプル 最新情報 2015/01

Last updated at Posted at 2015-01-16

以前、同じ内容の記事を書いた。
しかし、xcodeを久しぶりにアップデートしたら下記エラーで動作しなくなった。

use of undeclared identifier 'AFNetworkActivityLogger'
use of undeclared identifier 'AFHTTPRequestOperationManager'

スクリーンショット 2015-01-16 18.20.34.png

スクリーンショット 2015-01-16 18.21.11.png

結構な人数の方々にストックしてもらっているので、万が一同じ現象に悩まされている人がいたらと思い対応方法を書いてみた。

開発環境

PC: MacOS X 10.9.4
Xcode: Version 6.1.1

対処方法

どうやら、CocoaPodsが最新のXcode6.1.1と相性が良くないこともあるようで、少なくても私の環境では、XcodeCocoaPods再インストールしても連携がうまく行かなくなった。

そこで、AFNetworkingのサイトから、ライブラリを直接ダウンロードして設定してみる。

ヘッダファイルの配置

適切な方法であるかどうかわからないが、プロジェクトディレクトリに、Libraryディレクトリを作成し、ダウンロードしたファイルを配置する。
また、Swiftからヘッダファイルを読み込む為に、Bridging-Header.hも作成した。

スクリーンショット 2015-01-16 18.31.21.png

Xcodeのプロジェクトに、上記Libraryディレクトリを追加する。
その際、ヘッダファイル群がパスに読み込まれるように、[Search Paths]-[Always Search User Paths]に[Yes]を設定するのがミソ。

スクリーンショット 2015-01-16 18.37.00.png

そして、[Swift Compiler - Code Generation]-[Objective-C Bridging Header]に、ブリッジとなるヘッダファイルのパスを設定してやる。

スクリーンショット 2015-01-16 18.41.53.png

追加したブリッジヘッダの内容は以下。

Bridging-Header.h
#ifndef AFNetworkSample_Bridging_Header_h
#define AFNetworkSample_Bridging_Header_h

#import "AFNetworking.h"
#import "AFNetworkActivityLogger.h"

#endif

これで、読み込めずに動作しなくなったAFNetworking関連のクラスが利用できるようになる。

ハマりどころは、まさかのxcode6.1.1で、CocoaPodsが連携できないことであった。
少なくても私の環境だけの問題かもしれないが・・・。

Lovely Swift!!!

16
16
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
16
16