LoginSignup
10

More than 5 years have passed since last update.

AFNetworking を使って GET するまで

Posted at

元ネタ: https://github.com/AFNetworking/AFNetworking/wiki/Getting-Started-with-AFNetworking の通りだといくつかつまずいたので、メモとして残しておこう。

cocoapod のインストール

Homebrew をインストールしているなら、brew 経由でインストールするのが一番お手軽

% brew cask install cocoapods  # cask なのに注意
% rehash  # zsh の場合

cocoapod で AFNetworking をインストール

まず XCode で適当に Swift なプロジェクトを作成します。
ここでは AFTest というプロジェクト名ということにしておきます。
作成したらもう使わないのでウインドウを閉じておきます。

% cd AFTest

% vim Podfile  # 以下のようにファイルを作成
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'
pod "AFNetworking", "~> 2.5"

% pod install

Analyzing dependencies

CocoaPods 0.38.2 is available.
To update use: `sudo gem install cocoapods`

For more information see http://blog.cocoapods.org
and the CHANGELOG for this version http://git.io/BaH8pQ.

Downloading dependencies
Installing AFNetworking (2.5.4)
Generating Pods project
Integrating client project

[!] From now on use `AFTest.xcworkspace`.

% open AFTest.xcworkspace

最後のコマンドで、xcodeproj ではなく、xcworkspace を使うことに注意。

コードを書く準備

まず Bridging Header を追加しましょう。

ViewController.swift と同じ階層に AFTest-Bridging-Header.h を作成し、以下のように #import <AFNetworking/AFNetworking.h> を追加します。

スクリーンショット 2015-08-19 12.06.51.png

更にビルド設定で Bridging Header のパスを指定します。検索窓に brid 辺りまで入力すると見つけやすいです。

スクリーンショット 2015-08-19 12.09.18.png

この状態でビルドすると 'AFNetworking/AFNetworking.h' file not found というエラーになります。
以下のリンクで紹介されている方法を試した所、ビルドが通るようになりました (他に正しい解決方法があるようにも思うけど...)

スクリーンショット 2015-08-19 12.13.43.png

GET してみる

viewController.swift の viewDidLoad を以下のようにします。

    override func viewDidLoad() {
        super.viewDidLoad()

        let manager = AFHTTPRequestOperationManager()
        manager.GET("https://api.github.com/users/octocat/orgs", parameters: nil,
            success: {(operation: AFHTTPRequestOperation!, response: AnyObject!) in
                println("Success! \(operation)")
            },
            failure: {(operation: AFHTTPRequestOperation!, error: NSError!) in
                println("Error: \(error)")
            }
        )
    }

ビルドして コンソールに Succcess! と出力されれば OK です。

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
10