今日から始めるiOS Development


やることリスト

  • developer programへの登録(任意)
  • dependency management toolのインストール
  • dependencyの記述
  • dependencyの追加(この記事はここまで)
  • storyboardでのUI設計
  • UI Controller実装
  • Emulator
  • 実機確認
  • リリース

前提

Xcodeがインストールされていて、プロジェクトも作成されていること。
Xcodeは8.2以降で、swiftは3.0以降とする。
バージョン確認は、XcodeならPreferenceから。swiftはswift --versionで。

developer programへの登録(任意)

https://developer.apple.com/programs/
ここから登録をする。年間約12000円也。
リリースするまでは保留で良い予感。

dependency management toolのインストール

CocoaPodsCarthageのどちらかを選択。
今回はCarthageを選択する。

インストールはhomebrewで行うことにする。

bash
brew update && brew doctor
brew install carthage
# installされていることを確認
carthage version

dependencyの記述

CarthageではProjectにCartfileというファイルを作成する必要がある。
詳しくは https://github.com/Carthage/Carthage/blob/master/Documentation/Artifacts.md#cartfile を参照のこと。

ここではPromiseKitPromiseKit/AlamofireをProjectのroot directoryに追加する。

cd <project-root>
cat > Cartfile << EOF
# Promise Kit for Alamofire
github "PromiseKit/Alamofire-" ~> 1.0

# Promise Kit
github "mxcl/PromiseKit" ~> 4.0
EOF
Cartfile
# Promise Kit for Alamofire
github "PromiseKit/Alamofire-" ~> 1.0

# Promise Kit
github "mxcl/PromiseKit" ~> 4.0

新しいファイルが作られるのでgitでバージョン管理しないものを.gitignoreに追加する。

cat > .gitignore << EOF
# Carthage
Carthage/
EOF
.gitignore
# Carthage
Carthage/

dependencyの追加

carthageで取得したdependencyをprojectに追加する。
ここからはXcode上の操作となります。

Project -> General -> Linked Frameworks and Libraries

+を押してAdd Other...から、Carthage/Bulid/iOS内の.frameworkのフォルダをopenで追加
今回は、以下の3つを追加する。

  • Alamofire.framework
  • PMKAlamofire.framework
  • PromiseKit.framework

Project -> Build Phases

+(左上にある)を押してNew Run Script Phaseで追加

Project -> Build Phases -> Run Script

Shellにscriptを実行するshellを追加して、下のボックスに実行するscriptを記述

ボックス
/usr/local/bin/carthage copy-frameworks

Add input files hereに使用するframeworkを追加

  • $(SRCROOT)/Carthage/Build/iOS/Alamofire.framework
  • $(SRCROOT)/Carthage/Build/iOS/PMKAlamofire.framework
  • $(SRCROOT)/Carthage/Build/iOS/PromiseKit.framework

キャプチャ

これで、Souce Codeに追加したFrameworkをimport出来るかと思います。
次は機会を見つけて実装以降について書こうかと思います。