はじめに
ドキュメントを読みながらexampleを試したいなと思った時に環境構築どうしたらいいんだっけ・・?といつも迷うのでメモ
Cocoapodsをプロジェクトごとにバージョン管理しなきゃとか、根元の方にgemを入れてしまわないか不安な人向け
例 TextureGroup/Textureでやってみる
git cloneをしてさてworkspaceを開いて実行するぞと意気込むものpodfileに乗ってるライブラリを入れなきゃビルドできない
環境構築方法
1このリポジトリをクローンする このファイルを入れたいディレクトリに移動してから下記コマンドを実行する
$ git clone git@github.com:TextureGroup/Texture.git
2.rbenvをインストール
複数バージョンを管理することができるrbenvを入れます。
$ brew install rbenv ruby-build
入ったことを確認したらrbenvのどのバージョンが入ったのか確認
rbenv --version
3.今回使うrubyの指定バージョンを入れる
$ rbenv install 2.3.1
一応入ってきたかチェックする(いまPC内で使えるrubyバージョン一覧が出てくる)
$ rbenv versions
こんな感じで出てきたらOK
system
* 2.3.1 (set by...........)
4.このリポジトリ内で利用するrubyのバージョンを設定する
/Texture/examples/Swiftの中に移動しておく
$ rbenv local 2.3.1
.ruby-version
というファイルができる
5.リハッシュする
$ rbenv rehash
6.gemのバージョン管理をおこなうbundlerをいれる (PCのグローバルにgemをいれるとバージョン管理ができなくなるためこのリポジトリ内にgemを入れるようにする)
gem install bundler
7.gemを管理するgemfileをつくる
$ bundle init
ここでコマンドを打った、ディレクトリにGemfile
が作られる
8.Gemfileの中身を記入 Gemfileを開く
$ vi Gemfile
cocoapodsを管理するためGemfileに以下を書きこむ vimはiを一度押すと記入できるようになる。以下をかきこみ終わったら:wqを入れてエンターを押す (wは書き込みqは終了です)
Gemfileの中身
source "https://rubygems.org"
gem "cocoapods", "1.2.0"
9.gemfileを参照して、必要なgem(ここではcocoapods)を入れる
$ bundle install --path Vendor/Bundler
10.ios開発のためのライブラリ管理ツールpodの準備をする
まずはPodfileの作成(TextureのexampleではPodfileがすでに存在しているのでこれを使う)
$ vi Podfile
Podfileの中身
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '9.0'
use_frameworks!
target 'Sample' do
pod 'Texture', :path => '../..'
end
11.Podfileに登録したライブラリをおとしてくる (bundlerでcocoapodを管理しているためpodのコマンドを使うときはbundle execを前につける必要がある)
$ bundle exec pod install
12.gitignore編集
$vi .gitignore
### Mac ###
.DS_Store
### CocoaPods ###
Pods/*
### Xcode ###
build/
*.pbxuser
!default.pbxuser
*.mode1v3
!default.mode1v3
*.mode2v3
!default.mode2v3
*.perspectivev3
!default.perspectivev3
xcuserdata
*.xccheckout
*.moved-aside
DerivedData
*.xcuserstate
### AppCode ###
.idea/
### App ###
*.mobileprovision
*.ipa
*.zip
### Carthage ###
Carthage/*
### Bundler ###
.bundle/*
bundle/*
### bundler ###
Vendor/Bundler
12.プロジェクトファイルを開く
$open Sample.xcworkspace
間違い、もっとこうした方がいいなどありましたら教えてください
参考
https://qiita.com/ikuwow/items/4fae81a099bf82f44749
https://github.com/github/gitignore