経緯
- LineSDKでログイン認証することに
- とりあえずSDKを入れて、ID設定して、コード書いてみた
- Unity上だと動作チェックできないのでUnityCloudBuildでiOS, Androidビルド
- >> ビルドエラー! <<
原因1:対応バージョン見てなかった
LineSDKは Android API 17(Android4.2)以上、 iOS 10.0以上対応 です。
これをビルド時の対応バージョン修正することで、Androidはビルドできるようになりました。
だからReadmeは読めとあれほど(ry
原因2:Library Search Paths
iOSが相変わらずビルドできない上に、よく見るあのエラーが発生していることを確認。
Undefined symbols for architecture arm64
そう、やつです。
エラー文だけではどこが悪いのか全然分からないやつです。
CocoaPodの設定が悪いのかなど散々迷走したあげく、Swift関連のライブラリが軒並みリンク失敗して入れ込めてないことに気づきました。
参考:https://stackoverflow.com/questions/52536380/why-linker-link-static-libraries-with-errors-ios
参考リンク先で言われているように、Unityの OnPostprocessBuild
内にて、以下を追加することでiOSビルドができるようになりました。
project.AddBuildProperty (target, "LIBRARY_SEARCH_PATHS", "$(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME)");
感想
今回、UnityCloudBuildを使ったことで、より問題を複雑に考えて迷走しました。
原因はどっちも基本的な部分にあったので、一旦落ち着いてローカル環境でも同じ問題が起きるかなどきちんと確かめていくと絞り込みやすいかなと思いました。
あと、Readmeは読もう。