NIFCLOUD-mbaas / UserCommunity

ニフクラ mobile backend ユーザーコミュニティ
https://mbaas.nifcloud.com/
81 stars 18 forks source link

UnityプロジェクトのXcodeでのArchiveエラー #1365

Open matsunokirika opened 1 year ago

matsunokirika commented 1 year ago

UnityでビルドしたプロジェクトをXcodeでアーカイブした時、下記のエラーが出ます。

スクリーンショット 2023-09-03 15 54 51

確かにClasses/UI/のフォルダにはSplashScreen.hが無いのですが、これはUnityでのビルド時の設定が間違ってるのかどうかも私ではわかりません。

NCMBのSDKの動作環境は、下記の通りでした。 動作環境 Unity 2022.x Android 8.x〜13.x, API level 26.0〜33.0 iOS 13.x〜16.x (※2023年7月時点)

Unityは2022.3.2f1のヴァージョン、 iOSは13.0にしています。 SplashScreenはUnityの無料版を使用しているので、こちら側で何か変更を加えることはありません。 (強制的にUnityロゴが出るSplashScreenが使われます。)

Androidアプリでは問題なくビルド、GooglePlayStoreでの公開、動作も問題無しと確認ができました。

Unity側で何か修正をすべきなのか、NCMB側で何か問題が起こってるのかだけでも分かると有難いのですが、いかがでしょうか。 ちなみにUnityの2021.x~のエディター自体には、iOSSupprtフォルダの中にSplashScreen.hがあり、 Unityの2022.3.2f1〜のエディターの中には、SplashScreen.hが無いので、何らかの仕様?みたいなものが変わってるような気がするのですが…。 それで一度、2022.3〜のエディターから2021.~のヴァージョンにダウングレードしてビルドしようかと思ったのですが、色々と他に修正しなければいけないところが出てきたので一旦諦めました。

iOSでのビルドが初めて且つアプリ制作自体もまだ勉強中なので、もし他になにか原因究明に必要な情報もあれば教えてくださると幸いです。※エラー以外に警告もたくさん出てますが、今回はこのエラーだけの質問にしたいと思います。

matsunokirika commented 1 year ago

正しいかわかりませんが自己解決しました。 (1)下記URLから、SplashScreen.hとSplashScreen.mmをDLしてUIフォルダに入れる。 https://github.com/phoenixperry/intro_to_game_dev_unity/tree/master/week08/class_code/New%20Unity%20Project/test_ios/Classes/UI

スクリーンショット 2023-09-03 22 42 02

(2)新たに出た下記のエラーが出てるコードがある.mmファイルを消去(NCMBAppControllerPushAdditions.mm) Undefined symbol: UnitySendRemoteNotification(NSDictionary) Undefined symbol: UnitySendRemoteNotificationError(NSError)

これでXcode上でアーカイブからAppleStoreへアップロードまではできました。まだ申請中のため、動作確認まではしてません。もし他に解決方法ありましたらご教示いただきたくお願いいたします。