Xcodeのエラー潰し①

プログラミングも何も知らない状態から独学でUnityでゲームを作ってみたものの、iOSで実機テストするためにXcodeに移したらさらにわからないことだらけだったので自分のために引っかかったところをメモ。
そもそもMacOS触ったのも初めてで慣れないことばかりである。
とりあえずエラーを解消しただけなので仕組みとかいまいち理解できていない。

まずしばらくGoogleAdMob関係のエラーに悩まされてた。
とりあえず検索したらエラー出たらまずPodを入れ直してみるといいらしい。
そもそもPod(CocoaPods)って何??ってところから。
Pod入れ直すってどこから??
ターミナルって何??とかそんなレベル。

Xcodeの話じゃなくてMac側の話だった
Windowsでいうコマンドプロンプトみたいな

ターミナル開いたらとりあえずプロジェクトまで行けばいいらしい
「cd フォルダ名」で移動 cd Documentsとか。
「cd ../」で前のフォルダにもどる。
「pwd」で今どこのフォルダにいるかわかる。

プロジェクトのとこまで移動したら
 pod init
 pod install
とかしてみるといいらしい。
管理者権限とか必要だったら 先頭に「sudo」つけてみたり。
見様見真似でやったらinstallすらエラー出たけどw

podsとPodfileとPodfile.lockを消してからpod入れ直すのが
  1 duplicate symbols for architecture arm64
とかが出た時に有効とかなんとか。


PodはUnityからBuildしたプロジェクトフォルダに入ってた。


Bitcodeがなんとかってエラー出たらとりあえずここを変えればいいらしい。

あとはSDKの実装がうまくいってなかったり。

info.plistのSKAdNetworkItemsに足りてないのがあったり。

今回足りなかったもの
 4pfyvq9l8r.skadnetwork 
 ludvb6z3bs.skadnetwork 
 cp8zw746q7.skadnetwork
 y5ghdn5j9k.skadnetwork 
 v9wttpbfk9.skadnetwork 
 n38lu8286q.skadnetwork 
 47vhws6wlr.skadnetwork 
 a2p9lx4jpn.skadnetwork 
 22mmun2rn5.skadnetwork 
 ecpz2srf59.skadnetwork 
 mlmmfzh3r3.skadnetwork 
 gta9lk7p23.skadnetwork 
地道に+で追加した。


ビルド通ったと思ったらこれである。
The Google Mobile Ads SDK was initialized without an application ID.
だそうです。はい。初期化しろと。

AppDelegateがどうとかこうとか。
そんなファイルどこにあるんだと探したら、いつからか表示がなくなったらしい。

ないなら作るしかないということなので左のメニューを右クリック>New Fileでそれっぽい名前で作った。
そしたらすぐ出るNo such module。これもしばらく悩んだ。
(のちに1 duplicate symbols for architecture armで重複してたのでこっちの@mainは消した)


Podfileに必要そうなファイルを追加。
ここに追加してからターミナルでpod installすると更新されるらしい。
ここでうまくいかなかったときは「use_frameworks!」が抜けてただけだったりした。

そしたら今度はターミナル側がいまいち。

[!] The `Unity-iPhone Tests [Release]` target overrides the `ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES` build setting defined in `Pods/Target Support Files/Pods-Unity-iPhone Tests/Pods-Unity-iPhone Tests.release.xcconfig'. This can lead to problems with the CocoaPods installation

build settingのTargetがなんちゃらかんちゃら
$(inherited) を使えと。わからん。

とりあえず言われた場所に$(inherited)を追加してみる

build setingの`ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES`とか。
otherから$(inherited)入れるとこうなる。
LIBRARY_SEARCH_PATHSにも出てたのでこっちも。

追加したらまた pod install を実行すると解消されてた。

ここまできたらビルドで引っかかってた、
Thread running at QOS_CLASS_USER_INTERACTIVE waiting on a thread without a QoS class specified. Investigate ways to avoid priority inversions
が消えたので今日はここまで。


この記事が気に入ったらサポートをしてみませんか?