未分類

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

関連記事

no image

IPAの応用情報を受験してみます。

こんにちは、コーテッグの小山です。 私は情報系の学部を出ていないので、基礎力向上 …

Spotifyには「あなただけのプレイリスト」があるそうです

山手線でこんな広告を見かけました。 中島くんだけプレイリスト作ってもらってるなん …

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

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

会社にマウス買ってもらいました【デバイス手当】

こんにちは、エンジニアの戎島(エビスジマ)です。 コーテッグで今月から始まったデ …

完全食COMPって美味しいですか?

完全食COMPってご存知でしょうか? 完全食COMP 中身は粉末なのですが、簡単 …