【Flutter入門】Mac OS X・Xcode環境でのエラー対策

FlutterにおいてMac OS X・Xcode環境でのエラー対策について紹介します。

【Mac編】「Mac OS X」や「Xcode」をアップグレードしたときのエラー対策

「Mac OS X」や「Xcode」をアップグレードすると、flutterでアプリをビルドできなくなることがあります。
■エラー例

Agreeing to the Xcode/iOS license requires admin privileges, please re-run as root via sudo. 

その場合、以下の操作を行います。

① xcodeを起動し、ライセンスを承認します。

② 以下のコマンドを実行し、the command line developer tools をインストールし直します。
sudo xcode-select –install

補足

ターミナル上でXcodeのライセンス承認をすることもできます。

① 以下のコマンドを実行します。

$ sudo xcrun cc 

② 以下のメッセージが表示されるので管理者パスワードを入力してEnterを押します。

WARNING: Improper use of the sudo command could lead to data loss
or the deletion of important system files. Please double-check your
typing when using sudo. Type "man sudo" for more information.

To proceed, enter your password, or type Ctrl-C to abort.

Password: 

③ ライセンスが表示されるので、スペースやqキーで最後まで読んで「agree」+Enterと押せば承認できます。

You have not agreed to the Xcode license agreements. You must agree to both license agreements below in order to use Xcode.

Hit the Enter key to view the license agreements at '/Applications/Xcode.app/Contents/Resources/English.lproj/License.rtf'

By typing 'agree' you are agreeing to the terms of the software license agreements. Type 'print' to print them or anything else to cancel, [agree, print, cancel]   

【Mac編】「No connected devices.」エラー対策/h2>

flutterの実行時に「No connected devices.」と表示されることがあります。(Mac OSでの開発)

No connected devices.

Run 'flutter emulators' to list and start any available device
emulators. 

シミュレーターをインストールしていない場合は、以下のコマンドでシミュレータを実行してみましょう。

$ open -a Simulator 

【Mac環境】「“idevice_id”は、開発元を検証できないため開けません。」エラーの対策

Flutterで新規にプロジェクトを作成したり、ビルドすると以下のエラーが表示されることがあります。

“idevice_id”は、開発元を検証できないため開けません。
このアプリケーションにマルウェアが含まれていないことを検証できません。 

その場合、以下のコマンドを実行すると解決する場合があります。

sudo xattr -d com.apple.quarantine /PATH_FLUTTER_HOME/bin/cache/artifacts/libimobiledevice/idevice_id 

sudo xattr -d com.apple.quarantine /PATH_FLUTTER_HOME/bin/cache/artifacts/libimobiledevice/ideviceinfo

※PATH_FLUTTER_HOME/bin/cache/artifacts/libimobiledevice/idevice_id
はFlutterをインストールした時のパスを適宜入力

com.apple.quarantineはインターネット上からファイルなどをダウンロードした場合、その安全性が担保されていない状態であると判断した場合に「com.apple.quarantine属性」が添付されます。
このcom.apple.quarantine拡張属性は、ダウンロードしたプログラムを実行したときにユーザーの確認を求めることで、マルウェアを阻止するためにファイルに関連づけられているものです。
つまり信頼できないプログラムを実行して、被害に合わないようにするためのセキュリティの一つです。
よって先程のコマンドでは、プログラムが信頼できる場合は「com.apple.quarantine拡張属性」を削除して警告を消しています。

【Mac環境】「Could not build the application for the simulator.」エラーの対策

以下のエラーで、iOSビルドができなくなることがあります。

Could not build the application for the simulator.
Error launching application on iPhone XR. 

この場合、「flutterプロジェクト/ios」ディレクトリに移動し、以下のコマンドを実行することで解決できました。

$ pod setup 

【Xcode】Archiveが選べないときの対処方法

XcodeでArchiveを選択しようと思ってもグレーアウトしていてクリックできない場合があります。
その場合は、右上でシミュレーターを選択する場所を[Generic iOS Device]にすると解決できました。

【Flutter入門】iOS、Android、Windowsアプリ開発
Flutterによるアプリ開発について入門者向けに紹介します。

コメント

タイトルとURLをコピーしました