🤷‍♀️

iOS16にしたら、Xcodeで実機ビルドできなくなった

2022/11/07に公開

何が起こったか

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