未分類

[時効] 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 を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

関連記事

ジャンプPAINTでマンガっぽいコラ画像作り

最近は漫画を作るツールも無料で使えるようで、こんなのがありました。 ジャンプPA …

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

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

エンたまもくもく会 (Web系技術)#6 開催告知

こんにちは、エンジニアの戎島(えびすじま)です。 次回のエンたまもくもく会の開催 …

Swift Switch チャプター攻略(その1)

以前、Raspberry PiでSwift Switchを触ってみましたが、 S …

【2019年版】オフィスまでの経路のご案内(from 小川町&新御茶ノ水)

こんにちは。たなかです。 旧オフィスの場所は紹介記事があるのに、現オフィス(20 …