この記事でのバージョン
Unity 2021.1.23f1
はじめに
今回はUnityでiOSアプリ用にXcodeプロジェクトを書き出した際に以下のようなエラーが出て
iOS framework addition failed due to a CocoaPods installation failure. This will will likely result in an non-functional Xcode project.
After the failure, "pod repo update" was executed and succeeded. "pod install" was then attempted again, and still failed. This may be due to a broken CocoaPods installation. See: https://guides.cocoapods.org/using/troubleshooting.html for potential solutions.
pod install output:
[33mWARNING: CocoaPods requires your terminal to be using UTF-8 encoding.
Consider adding the following to ~/.profile:
export LANG=en_US.UTF-8
xcodeprojファイルはあるけどxcworkspaceファイルが生成されていないという場合の対処法です。
なお、自分の場合は効果がなかった方法も記載していますが、
環境によってはそれで解決する事もあると思うので、一度試してみるのをオススメします。
対処法
先程のエラーを翻訳してみるとCocoaPodsのインストールに失敗しているようです。
CocoaPodsのインストールに失敗したため、iOSフレームワークの追加に失敗しました。この場合、Xcodeプロジェクトが機能しなくなる可能性が高いです。
失敗後、"pod repo update "を実行し、成功しました。その後、"pod install "を再度試みましたが、やはり失敗しました。これは、CocoaPodsのインストールが失敗しているためと思われます。解決策としては、https://guides.cocoapods.org/using/troubleshooting.html を参照してください。
pod install の出力です。
[33mWARNING: CocoaPodsはターミナルがUTF-8エンコーディングを使用していることを必要とします。
以下を~/.profileに追加することを検討してください。
エクスポート LANG=en_US.UTF-8
とりあえず最後の方にターミナルの言語をUTF-8にしろと書かれているので
ターミナルでlocaleを実行して言語をチェックしてみると「ja_JP.UTF-8」になっていました。
$ locale LANG="ja_JP.UTF-8"
UTF-8ではあるのですが、ja(=日本語)なのがだめなのかと思い、
エラー文に書かれているコマンドをターミナルで実行してみた所、
$export LANG=en_US.UTF-8
言語がen_US.UTF-8になったものの、再度ビルドしてものxcworkspaceは生成されませんでした。
ここでよく見たら~/.profileに追加しろと書かれているのに気付き、
ターミナルで~/.profileでファイルを開き(なければ作成)
vi ~/.profile
先程の内容をコピペ、
export LC_ALL="en_US.UTF-8"
さらに変更を反映させましたが、
source ~/.bash_profile
これでも結果は変わらず。
次はいっそCocoaPodsを入れ直そうという事で、以下の記事を参考に
一旦全部アンイストールしてからインストールし直しましたが、これまた結果は変わらず。
結局、最終手段であるターミナルから手動でCocoaPodsをインストールする事で事なきを得ました。
なお、手動でインストールするには書き出したプロジェクトのフォルダ(xcodeprojがある所)に移動し、
(パスはターミナルにフォルダをドラック&ドロップすると設定可能)
cd プロジェクトのパス
Podfileがない場合は
initとinstallで作成、
pod init pod install –repo-update
Podfileが出来た後にさらにupdateを実行する事で
pod update
諸々のiOSフレームワークが追加され、xcworkspaceファイルも生成されます。
参考