Xcode・SwiftからiPhone本体へアプリを転送(実機転送)した時や、ビルドした時にエラーメッセージが表示されることがあります。
本記事では、その中でも特によく出会うエラーを一覧でまとめました。「エラーメッセージの内容 > 解決方法」 の順に書いていますので、エラーで困った時の参考にしていただければと思います。
[ 本記事はこんな人におすすめ ]
・ビルドエラー・実機エラーの解決法を探している
・ビルド・実機転送時によく出会うエラーを知っておきたい
環境・バージョン
> Swift 5.7.2
> Xcode 14.3
> macOS 13.0 Ventura
エラーメッセージ:
An error was encountered while attempting to communicate with this device.(The service is invalid.)
Please try rebooting and reconnecting the device.
日本語訳:
このデバイスと通信しようとしたときにエラーが発生しました(サービスが無効です)。
デバイスを再起動して再接続してください。
解決方法
iPhoneをケーブルから外したのちに、iPhoneを再起動してください。
参考:iPhone、iPad、iPod touch を再起動する – Apple サポート
iPhoneを再起動後に、再度、ケーブルを接続して、実機転送を行ってください。
また、ケーブルの故障や相性 、接触の悪さも可能性として考えられます。改善しない場合は、別のケーブルで試してみてください。
エラーメッセージ:
Failed to create provisioning profile.
The app ID “<…>” cannot be registered to your development team.
Change your bundle identifier to a unique string to try again.
日本語訳:
プロビジョニングプロファイルの作成に失敗しました。
AppID 「<…>」 は、開発チームに登録することはできません。
Bundle Identifierを一意の文字列に変更して、もう一度試してください。
解決方法
1. iPhone 本体が Mac と接続されている必要があります。
そして、以下のように、 Xcode の [Device] の欄で ご自身の iPhone が選択されている必要があります。(筆者の場合以下のように表示されます)
2.Bundle Identifier は世界中で重複したIDを使うことができません。
そのために、メールアドレスやドメイン等を活用して重複を回避します。(メールアドレス、ドメインは他と重複しない一意の値であるため)
Bundle Identifier を重複しない ID に変更したのちに、再度、ご確認ください。
エラーメッセージ:
Unlock XXXXXiPhone to Continue.
Xcode cannot launch ParticleEffectSample on XXXXXiPhone because the device is locked.
日本語訳:
XXXXXiPhone のロックを解除して続行してください。
デバイスがロックされているため、XcodeはXXXXXiPhoneでParticleEffectSampleを起動することができません。
解決方法
iPhoneがロックされているときは、アプリの転送が行えません。
接続中のiPhoneのロックを解除することで、実機転送がリスタートします。
エラーメッセージ:
Your maximum App ID limit has been reached.
You may create up to 10 App ID every 7 Days.
日本語訳:
作成できるAppID数の最大上限に達しました。
AppIDは、7日間で最大10個までAppIDを作成することができます。
解決方法
AppIDは、Bundle Identifierのことです。
Bundle Identifierは世界中で重複したIDを使うことができません。
そのために、メールアドレスやドメイン、プロジェクト名を用いることでIDの重複を回避しますが、このIDを何度も作成変更していると7日間で10個のIDしか作れない制限がかかります。
エラー文に7日間とある通り、少し期間を空けると新しくIDが作成できるようになり、実機転送が行えます。
またこの制限は、Apple Developer Programで無料アカウントの場合に発生しています。有料アカウントとして登録することでこの制限は解除されます。
エラーメッセージ:
Failed to register bundle identifier.
The app identifier “Swift-Beginners.MyFirst” cannot be registered to your development team. Change your bundle identifier to a unique string to try again.
日本語訳:
「bundle identifier」の登録に失敗しました。
「app identifier」の「Swift-Beginners.MyFirst」をあなたのチームに登録することはできません。 「bundle identifier」を一意の文字列に変更してもう一度試してください。
解決方法
「bundle identifier」が重複することがエラーの原因ですので、他のバンドルIDと重複しないようにIDを設定することで、エラーは解消されます。
※ icloudメールアドレスはドメインとして使用できません。com.icloud.XXXXX
というドメインで試していた場合は、他のドメインを使用してください。
エラーメッセージ:
Could not locate device support files.
This iPhone XS is running iOS XX.X,which may not be supported by this version of Xcode.
日本語訳:
デバイスサポートファイルを見つけることができませんでした。
このiPhone XSはiOS XX.Xを実行していますが、このバージョンのXcodeではサポートされていない可能性があります。
解決方法
iPhoneのiOSのバージョンに対応したXcodeのバージョンではない可能性があります。
直近で、iOSのみをバージョンアップした場合は、必ずXcodeのバージョンアップも実施してください。
また、企業内ネットワークなどの特殊な環境では、App storeでのアップデートが許可されていないときがあります。
ご自宅での一般的なネットワーク環境でApp storeのアップデートをご確認ください。
エラーメッセージ:
A server with the specified hostname could not be found.
No profiles for ‘xxxxxxx.MyFirst’ were found.
日本語訳:
指定されたホスト名を持つサーバーが見つかりませんでした。
「xxxxxxx.MyFirst」のプロファイルは見つかりませんでした。
解決方法
ご使用しているMacがインターネットに接続できている環境であるかご確認ください。
Xcodeでは実機転送を行うために、ネット環境が必要になります。
また、VPNや企業内ネットワークなどの特殊なネット環境では、接続が許可されておらず、失敗してエラーになることがあります。
一般的なご自宅のネット環境でご確認ください。
エラーメッセージ:
The run destination XXXXX iPhone is not valid for Running the scheme ‘MyJanken’.
XXXXX iPhone’s iOS 12.4.1 doesn’t match MyJanken.app’s iOS 13.0 deployment target. Upgrade XXXXX iPhone’s iOS version or lower MyJanken.app’s deployment target.
日本語訳:
実行先XXXXX iPhoneは、スキーム「MyJanken」の実行には無効です。
XXXXX iPhoneのiOS 12.4.1は、MyJanken.appのiOS 13.0展開ターゲットと一致しません。 XXXXX iPhoneのiOSバージョンをアップグレードするか、MyJanken.appの展開ターゲットを下げます。
解決方法
iPhone の OS バージョンと Xcode でiPhoneアプリ用として作っている OS バージョンの指定が異なります。
最新バージョンの Xcode であれば、常に最新のiOSバージョンのアプリ作成がデフォルトになっています。
iPhone の OS をアップデートしてください。
エラーメッセージ:
Thread 1: Fatal error: Unexpectedly found nil while implicitly unwrapping an Optional value
日本語訳:
スレッド 1: フェータル・エラー。暗黙的にオプション値をアンラップ中に予期せず nil が見つかりました。
解決方法
このエラーメッセージは、オプショナル型の値をアンラップした際に、予期しない「nil」の値が見つかったことによってアプリが強制終了したことを示しています。
このような状況では、値がnilになる可能性があることを考慮し、Optionalの安全なアンラップ方法を使用する必要があります。
安全なオプショナルバインディング(Optional binding)やオプショナルチェーン(Optional chaining)に置き換えるなどの方法で、適切に処理してください。
エラーメッセージ:
Could not launch Simulator.app.
Domain: DTiPhoneSimulatorErrorDomain
Code: 4
The operation couldn’t be completed. (OSStatus error -1712.)
Domain: NSOSStatusErrorDomain
Code: -1712
日本語訳:
Simulator.appを起動できませんでした。
ドメインで起動できませんでした。DTiPhoneSimulatorErrorDomain
コードは?4
操作を完了できませんでした。(OSSStatus エラー -1712.)
ドメインです。NSOSStatusErrorDomain
コードは?-1712
解決方法
1.Macを再起動後にシミュレータの実行
2.プロジェクトをクリーンアップして再ビルドします。
・ショートカットなら ⇨「 Shift」 + 「Command」 + 「k」
・メニューなら ⇨[Product]> [Clean Build folder]
3.プロジェクトを削除して最初から作り直す
以上、実機転送時やビルド時によく出会うエラーメッセージと対処法についての一覧まとめでした。
参考になれば幸いです。
\ SHARE /
アプリ開発が学べる勉強会を開催中!
CodeCandyではアプリ開発を学ぶための勉強会を定期開催しています。
学習する習慣を身につけたい、他の参加者と作業したい、アプリ開発の基本をマスターしたい、という方のために無料で学べる勉強会です。
グループにメンバー登録して頂くと、イベント開催時にメールで通知されます。
徹底した基礎学習からマスターするiPhoneアプリ開発集中オンライン講座開講!
本書「iPhoneアプリ開発集中講座」を執筆している現役エンジニア講師陣が直接に指導!
基礎、課題実習で実践力を鍛えて、オリジナルアプリ公開までチャレンジ!
充実した転職支援もあるので、エンジニアへ転職したい人にもおすすめです!
まずは、現役エンジニアに相談できる無料相談をご利用ください。
2022年2月よりSwift学習を始め、4月からiOSアプリ開発オンラインスクール「CodeCandy」にてアプリ開発を学ぶ。 2023年10月に個人開発アプリ「unico」をリリース。現在はアプリの機能アップデートをしながら、スクール運営の技術ブログの執筆や、出版書籍の入稿チェック・デバッグにも携わる。