1.因GoogleAdmob插件在Xcode中需要用到CocoaPods來處理包依賴關系,所以unity在mac導出集成GoogleAdmob插件的xcode工程時, 會首先檢測CocoaPods的安裝環境,如果沒安裝,則會自動安裝,這時候會卡在:Converting managed assemblies to C++界面,因網絡問題,這個過程需要國內一般需要1-2小時,如果不急就等待,如果需要加速就參考:https://juejin.im/post/5c41211ce51d453ba81022c9解決
2.在確定mac已經安裝了CocoaPods時候出現了錯誤提示,
信息如下:
Error running CocoaPods. Please ensure you have at least version 1.0.0. You can install CocoaPods with the Ruby gem package manager:
> sudo gem install -n /usr/local/bin cocoapods
> pod setup
'pod --version' returned status: 1
output:
[33mWARNING: CocoaPods requires your terminal to be using UTF-8 encoding.
Consider adding the following to ~/.profile:
export LANG=en_US.UTF-8
[0m
/Users/daihuoying/.gem/ruby/2.6.0/gems/cocoapods-1.9.1/lib/cocoapods/executable.rb:118:in `block in which!': [31m[!] Unable to locate the executable `git`[0m (Pod::Informative)
from /Users/daihuoying/.gem/ruby/2.6.0/gems/cocoapods-1.9.1/lib/cocoapods/executable.rb:117:in `tap'
from /Users/daihuoying/.gem/ruby/2.6.0/gems/cocoapods-1.9.1/lib/cocoapods/executable.rb:117:in `which!'
from /Users/daihuoying/.gem/ruby/2.6.0/gems/cocoapods-1.9.1/lib/cocoapods/executable.rb:143:in `capture_command'
from /Users/daihuoying/.gem/ruby/2.6.0/gems/cocoapods-1.9.1/lib/cocoapods/command.rb:116:in `git_version'
from /Users/daihuoying/.gem/ruby/2.6.0/gems/cocoapods-1.9.1/lib/cocoapods/command.rb:130:in `verify_minimum_git_version!'
from /Users/daihuoying/.gem/ruby/2.6.0/gems/cocoapods-1.9.1/lib/cocoapods/command.rb:49:in `run'
from /Users/daihuoying/.gem/ruby/2.6.0/gems/cocoapods-1.9.1/bin/pod:55:in `<top (required)>'
from /usr/local/bin/pod:23:in `load'
from /usr/local/bin/pod:23:in `<main>'
UnityEngine.Debug:LogError(Object)
Google.Logger:Log(String, LogLevel) (at /Users/smiles/dev/src/unity-jar-resolver/source/VersionHandlerImpl/src/Logger.cs:91)
Google.IOSResolver:Log(String, Boolean, LogLevel) (at /Users/smiles/dev/src/unity-jar-resolver/source/IOSResolver/src/IOSResolver.cs:809)
Google.IOSResolver:OnPostProcessInstallPods(BuildTarget, String) (at /Users/smiles/dev/src/unity-jar-resolver/source/IOSResolver/src/IOSResolver.cs:1974)
UnityEditor.BuildPipeline:BuildPlayer(String[], String, BuildTarget, BuildOptions)
AutoBuildUtil:BuildIOS(String) (at Assets/Editor/Utils/AutoBuildUtil.cs:238)
<>c:<BuildIOSTest>b__16_0() (at Assets/Editor/Utils/AutoBuildUtil.cs:245)
ExportUtil:ExportComplete() (at Assets/Editor/Export/ExportUtil.cs:98)
ExportUtil:ExportResource(BuildTarget) (at Assets/Editor/Export/ExportUtil.cs:70)
ExportUtil:ToBuildiPhoneResource() (at Assets/Editor/Export/ExportUtil.cs:36)
ExportUtil:BuildIPhoneResource(Action) (at Assets/Editor/Export/ExportUtil.cs:24)
AutoBuildUtil:BuildIOSTest() (at Assets/Editor/Utils/AutoBuildUtil.cs:244)
錯誤截圖:
按照錯誤提示:
1.進入終端依次執行:
sudo gem install -n /usr/local/bin cocoapods
pod setup
2.發現提示CocoaPods安裝完成
3.再次打包發現依然報上面的錯誤
4.分析:明明本機已經安裝cocoapods,unity依然提示沒有cocoapods版本,
所以猜測雖然執行了上面的命令,但cocoapods並沒有安裝到unity調用的ruby目錄,所以查看系統ruby情況:
所以,解決的辦法就是,把系統目錄下已經安裝的cocoapods文件(或者把gems文件夾的全部)都拷貝到unity調用的ruby gems對應目錄中,如圖:
5.拷貝替換好后,再次打包,unity成功導出xcode工程,如圖: