2/28/2018

[Unity2017.3.0f3] iOSビルドのエラー:CocoaPodsまわり

Unityでゲームを作っています。
そろそろ完成という今、iOSに書き出そうとしたらエラーが起きたよ。
ビルドエラーってモチベーション下がりまくるからいやだなあと思いつつ、頑張る。

Unity2017.3でCocoaPodsがうまいこといかないという現象っぽい。



1)
 master - @ fatal: Not a git repository (or any of the parent directories): .git

2)
[33mWARNING: CocoaPods requires your terminal to be using UTF-8 encoding.
Consider adding the following to ~/.profile:

export LANG=en_US.UTF-8


さらにUpdating spec repo `master-1`なんてのも作ってしまっていて、これも上記と同じことが書かれていた(* >ω<)


Not a git repositoryを解決する

Not a git repositoryをまず解消しなければ!!!!
同じようなことが書いてある記事を見つけたので読んでみた。

参考:The Master repository is not a git repository #6302

~/.cocoapodsgitリポジトリではないと考えられるリポジトリ
~/.cocoapods/reposは、gitリポジトリであるかもしれないソースを含むディレクトリです。 
あなたの問題は
~/.cocoapods/repos/mastergitリポジトリではないと思われます。

rm -rf ~/.cocoapods/repos/master && pod setup
を実行する必要があります。


原文
~/.cocoapods is not supposed to be a git repository,
~/.cocoapods/repos is a directory which contains Sources which may be git repositories.
It looks like your issue is that ~/.cocoapods/repos/master is not a git repository, and you should probably run rm -rf ~/.cocoapods/repos/master && pod setup

(°ω°)? rm? rf ? 調べる。

参考:Macのターミナルコマンド一覧(基本編)

rm 削除ということらしい。 removeの意味。

rm -rf test #testというディレクトリとその中身を警告なしで削除する

一旦削除してから再セットアップということなのかな。。。


ターミナルにrm -rf ~/.cocoapods/repos/master && pod setup
と入力してみた。

そうしたら1)は解決したようだ。


export LANG=en_US.UTF-8をprofileに追加する

次は2)。

参考:Unity 2017.2にしたらCocoaPodsでコケる


デバッグトレースの下のほうみると、
ArgumentError - invalid byte sequence in US-ASCII
って書いてある。
なので、 ~/.bash_profileに、以下を追加。
export LC_ALL="en_US.UTF-8"

で、
source ~/.bash_profile
で読み込めばオッケー。


(°ω°)? ごめんなさい。ターミナルやっぱりわかってなかった。。。
もっと調べる。

そして、Xcodeもバージョンアップしたり、Rubyもバージョンアップさせた。
Rubyは正直さっぱりわからなくてHomebrewというサイトで
こちらを参考にしてRuby2.4.0にしました。


【小ネタ】macOS Sierra(10.12) で 最新版のRubyを利用する

次にターミナルで編集するとかさっぱりわからないことが出てきたので下記の記事が役に立ちました。

参考:viエディタの使い方

これを知らないと詰んでた。


ターミナルを起動し、 vi ~/.bash_profile
と入力。

こんな画面が出た。Anacondaなどを入れたりした時に作られていたらしい。
新規で作成する場合もあるようだ。
今回は既存ファイルを編集したいので「e」と入力。



すでに別のものをインストールした時に作られたprofileが開かれた。
開いた時は「コマンドモード」という状態なので、「a」と入力して「編集モード」に変更します。
viエディタの使い方を知らないと途方にくれるね。

そして、 export LANG=en_US.UTF-8
と入力。




 ctrl+Cを入力して編集モードからコマンドモードへ。
「:wq」と入力してreturnキー。




そうしたらターミナルの元の画面に戻った。

 一旦終了してターミナルをもう一回起動して vi ~/.bash_profile
と入力して「e」を入力したら先ほどの設定したものがみれた!


ここまでやって Unityに戻ってiOSでビルドしてみたら、、、、、

できた!
長かったです! でもターミナル重要なのがわかった。

まとめ

  1. CocoaPodsの再インストール、再設定
  2. ~/.bash_profileに追加・更新
  3. Xcodeを9.2にアップデート
  4. Rubyを2.4.0にアップデート

以上が今回やったこと。
viエディタの使い方が一番びっくりした。ほんと私何も知らないんだな。。。

そしていつも解決に導いてくださる数々のブログやフォーラム。
ありがとうございました!

0 コメント:

コメントを投稿