未分類

[時効] cocoapodsのバージョンバラバラ事件

投稿日:

どうも現場のなかたです

いろんなiOSプロジェクトをやってると
cocoapodsのバージョン違いでPodfile.lock周りでエラーが出て、モヤっとすることないですか?
私だけすか?
その事件がついに時効を迎えました。

みなさんのiOS開発するとき自慢のMacに

sudo gem install cocoapods

こんな感じで意気揚々とcocoapodsを入れたかと思います。
しかし時が経って、こんなことやると…

$ gem list | grep cocoapods
cocoapods (1.7.0, 1.6.1, 1.5.3)

色んなバージョン入ってーらー、、、こんなことないですか?

ちゃんと各プロジェクト、バージョン固定しようぜ運動をはじめました

見てわかる通り、cocoapodsさんはgemなので、bundler管理しちゃいましょう

やりかた

1.bundlerのインストール

gemをまとめてポンのbundlerをmacにインストールしましょう

sudo gem install bundler

2.bundler初期化

cocoapodsを使っているディレクトリに移動して

bundle init

そったら、Gemfileができます

3.Gemfile編集

$ vi Gemfile

# frozen_string_literal: true

source "https://rubygems.org"

# git_source(:github) {|repo_name| "https://github.com/#{repo_name}" } # <== コメントしちゃおう

# gem "rails"
gem 'cocoapods', '1.7.0' # <== 追加

4.見えない化

$ vi .gitignore

/vendor
.bundle

5.cocoapodsインストール

bundle install --path vendor/bundle

これでプロジェクト指定のcocoapodが入ります

6.podインストール

bundle exec pod install

プロジェクトに関するライブラリが入ります


ディレクトリ構成

こんな感じになりますた

- Gemfile
- Gemfile.lock
- iOSProject
- iOSProject.xcodeproj
- iOSProject.xcworkspace
- Podfile
- Podfile.lock
- Pods  <-- ここにライブラリ入るネ
- vendor  <-- ここにcocoapods入るネ

補足

globalな環境にcocoapods入れてもいいかなと思いましたが、
環境を汚したくない派の人間なんで、プロジェクト内に納めた方が綺麗だなと。

今日はこんな感じで。

-未分類

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

関連記事

「Google Inside Music」で自分の好きな音楽を聞いてみる(音楽追加 編)

前回の記事でlocalの環境構築が出来たので、実際に好きな音楽を追加していきまし …

『ためしがき』で日本語フリーフォントを試し書き

こんにちは。たなかです。この頃、色々なプロジェクトでフォントの話に出くわすことが …

コードレビューコメント社内全員で共有することになりました!

こんにちは!コーテッグの小山です。 以前、bitbucketのプルリクエストへの …

新旧ルータの速度を比べてみた【デバイス手当】

こんにちは、エンジニアの戎島(エビスジマ)です。 弊社、コーテッグのデバイス手当 …

意外と忘れがち?ビューの修正方法で悩んだ時は画像検索が使える!

ビューのライブラリのオプションを探すのがストレス こんにちは!コーテッグの小山で …