iOS16にしたら、Xcodeで実機ビルドできなくなった
何が起こったか
NativeScript-Vueでアプリ開発中、バージョンアップ対応をしたら、SimulatorではRunできるが、実機がRunできない状態になった。
環境
iOSを16.1にアップデートしたら、Xcodeのバージョンをアップしないといけなくなって、そのためにはmacOSもバージョンアップしないといけなくなった。
すべて最低限必要なバージョンにし(macOSに関してはもう13が出ているが、まだ直後で怖いので避けた)結局以下に環境にした。
- iPhone:12mini
- iOS:16.1
- Xcode:14.1
- Macbook Air(M1,2020)
- macOS:Monterey 12.6.1
- @nativescript/core:8.2.4
- @nativescript/ios:8.3.0
解決方法
やったことは以下。すべてプロジェクトワークスペースをXcode上で調整することで解決した。
開発状況によると思うので、当てはまらないものは飛ばしてもらったほうがいい。
Supported Destinations
General内のSupported Destinationsがもともとの設定から変更されていた(Xcodeアップデート時にDestinationの選択画面があったので、それに上書きされたよう)ので、もともと設定していたものだけに直す。私の場合は、iPhoneのみ対応なのにiPadやMacが追加されていたので、削除した。
Build Phases
Build Phases内の以下2つのチェックを入れた。ここをいじったのは、エラー時にnoteとしてコンソールされていたため。
- NativeScript Prebuild の "Based on dependency analysis"
- NativeScript Postbuild の "Based on dependency analysis"
プラグインのサインイン情報
実機でRunをしてみたら、プラグインのサインイン情報が何故か切れてしまっていたので、再設定した(エラー箇所を表示し、今使っているアカウントを選択する)
前提知識
調べていると、NativeScriptの場合、@nativescript/ios
は8.3以降でiOS16とXcode14に対応しているようなので、アップデートした場合は、必ず@nativescript/ios
もアップデートをかけたほうが良さそう。私ももともと8.3.0だったが、8.3.3にアップデートした。(アップデートしても、結局、再度上記3つの対応が必要になったが。。。プラグインが対応しきれてないのか、私のプロジェクトに他の要因があるのかは不明)
参考:Xcode14でビルドできない!という問題で@nativescrpt/ios
のアップデートで治るよ、と言われているissue
Error: Build input file cannot be found, when building NativeScript application with Xcode 14.01 using m1 mac #10051
Discussion