2015年7月28日火曜日

Swiftではじめるアプリ作成 CocoaPodsでAlamofireとSwiftJsonを使ったアプリを作る その1

  • 公開日:2015年07月28日
  • 最終更新日:2015年07月30日

記事概要


ネットワークでAPI等を利用するiphoneアプリを作成する場合、SwiftではAlamofireとSwiftJsonを利用すると便利です。
この記事では、CocoaPodsを使ったAlamofireとSwiftJsonの導入方法を丁寧に説明したいと思います。

開発環境


  • Xcode 6.4
  • Swift 1.2

難易度


★★★☆☆(普通)

プロジェクトのひな形の作成


まず最初にiphoneプロジェクトのひな形から作成していきます。
xcodeを立ち上げて、プロジェクトを作成します。

iOS → ApplicationSingle View Applicationを選択します。

  • Product Nameにalmo-swiftと入力
  • Organization Nameに組織名称(ここではcom.masa)と入力
  • Organization Identifierに組織名称(ここではcom.masa)と入力
  • LangugageSwiftを選択
  • Deviceiphoneを選択
  • Use Core Dataのチェックボックスを外す

プロジェクトフォルダを選択すると、上記のようにプロジェクトが作成されます。
次は、iphoneアプリプロジェクトのパッケージ管理にcocoapodsを導入します。
cocoapodsは開発に便利なパッケージの導入や管理をしてくれるツールです。

では、xcodeを閉じましょう。macのターミナルを開いて、プロジェクトフォルダまで移動します。

【terminal】

// プロジェクトフォルダに移動
cd /Users/{username}/Documents/iworksample/almo-swift/

// Gemfileを作成
touch Gemfile

プロジェクト配下にGemfileを作成します。
作成したGemfileはcocoapodsのインストールに使用します。
GemfileはBundler用の設定ファイルです。Bundlerはgemのバージョン管理を行うプログラムです。
この辺の知識や技術はRubyの開発の経験があると理解しやすいのですが、cocoapodsの導入だけでRubyの学習をする必要はありません。なので、理解なしに手順通り作業を進めて問題ありません。

また、cocoapodsの導入にはRubyが必要なので、Rubyが未インストールの人は、最初にRubyをインストールしておく必要があります。(この記事ではRubyがインストール出来ている前提で話を進めます)

Gemfileの記載とCocoaPodsのインストール


Gemfileを記載してCocoaPodsをインストールします。
Gemfileには、以下のように記載します。

【almojson/Gemfile】

source 'https://rubygems.org'
gem 'cocoapods', '0.36.0'

上記のGemfileを保存します。
cocoapodsのバージョンは0.36.0を利用します。
cocoapodsのバージョンはプロジェクトの全員が同じバージョンを利用するようにしましょう。

次にRubyを使ってcocoapodsをインストールします。
ここでは、bundler(RubyのGemパッケージの管理)を使用しているので、bundle installコマンドを使います。

【terminal】

bundle install --path=vendor/bundle

Fetching gem metadata from https://rubygems.org/...........
Fetching additional metadata from https://rubygems.org/..
Resolving dependencies...
Installing i18n (0.7.0)
Installing json (1.8.3)
Installing minitest (5.7.0)
Installing thread_safe (0.3.5)
Installing tzinfo (1.2.2)
Installing activesupport (4.2.3)
Installing claide (0.8.2)
Installing fuzzy_match (2.0.4)
Installing nap (0.8.0)
Installing cocoapods-core (0.36.0)
Installing cocoapods-downloader (0.8.1)
Installing cocoapods-plugins (0.4.2)
Installing netrc (0.7.8)
Installing cocoapods-trunk (0.6.1)
Installing cocoapods-try (0.4.5)
Installing colored (1.2)
Installing escape (0.0.4)
Installing molinillo (0.2.3)
Installing open4 (1.3.4)
Installing xcodeproj (0.23.1)
Installing cocoapods (0.36.0)
Using bundler (1.5.1)
Your bundle is complete!
It was installed into ./vendor/bundle

インストールに成功すると、「Your bundle is complete!」のメッセージが表示されます。
プロジェクトのルートにはGemfile.lockというファイルが作成されています。このファイルには、プロジェクトで利用しているパッケージとバージョンの情報が記載されています。

不要ファイルだと勘違いして削除する人がいますが、削除してはいけません。
削除してしまうと、プロジェクトで利用しているパッケージとバージョンの情報がわからなくなってしまいます。
git等のソース管理ツールできちんと管理しましょう。

Podfileの記載とパッケージのインストール


【terminal】

// Podfileを作成
touch Podfile

プロジェクト配下にPodfileを作成します。
上記で作成したPodfileはswiftアプリで使うパッケージのインストールに使用します。

【almo-swift/Podfile】

platform :ios, '8.0'
use_frameworks!

pod 'Alamofire', '~> 1.2'
pod 'SwiftyJSON', '~> 2.2.0'

上記ではネットワーク接続に利用するAlamofireと手軽にjsonを扱うSwiftyJSONのパッケージを指定しています。
iosのバージョンはios8を指定します。今回利用するSwiftyJSONパッケージは、ios7に対応する場合は、CocoaPodsで利用することはできないので気をつけてください。

また、SwiftyJSONをCocoaPodsで利用するには、CocoaPods versionが0.36以上である必要があることも留意してください。

【terminal】

bundle exec pod install

Analyzing dependencies

CocoaPods 0.38.0.beta.1 is available.
To update use: `sudo gem install cocoapods --pre`
[!] This is a test version we'd love you to try.

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

Downloading dependencies
Installing Alamofire (1.2.3)
Installing SwiftyJSON (2.2.0)
Generating Pods project
Integrating client project

[!] Please close any current Xcode sessions and use `almo-swift.xcworkspace` for this project from now on.

パッケージの導入に成功したら、画面からプロジェクトフォルダに移動します。

{project-name}.xcworkspaceファイルをクリックします。

Xcodeが立ち上がり、作成したプロジェクトのPodsフォルダ以下にインストールしたパッケージが確認できます。
確認を終えたら、続けてソースコードをビルドします。

メニュー → ProductBuildを選択します。

インストールに成功していれば、コンパイルが成功します。iphoneシュミレーターを立ち上げて確認みましょう。

アプリが立ち上がり画面が表示されました。はこのプロジェクトでAlamofireを利用していきます。

以上です。

Swiftでのiphoneアプリ開発にオススメの本


詳細swiftよりこちらの本をオススメします。
objective-cの経験がある人や、初心者から中級者までの開発者はこの本のほうが役に立ちます。
ただし、swiftはバージョンアップの速度が早いので、購入するときは自分が利用しているswiftのバージョンでも役に立つことを確認してから購入するように注意してください。

関連記事

参考サイト

この記事がお役にたちましたらシェアをお願いします

このエントリーをはてなブックマークに追加

0 件のコメント:

コメントを投稿

Related Posts Plugin for WordPress, Blogger...