[Xcode]iPhoneの実機テストエラー・ビルドエラーの一覧と対処方法

Xcode・SwiftでのiPhone実機テストエラー、ビルドエラーの一覧と解決方法

Pocket
LINEで送る

Xcode・SwiftからiPhone本体へアプリを転送(実機転送)した時や、ビルドした時にエラーメッセージが表示されることがあります。
エラーメッセージの内容応じて、解決方法を記載いたしますので、参考にしてください。

この記事にはないエラーで困っている方は、TwitterでDMを頂けると回答できます😊

 TwitterでのDMはこちら

Xcode・Swift 実機テストエラー・ビルドエラーの一覧と解決方法

an error was encountered while attempting to communicate with this device. (the service is invalid.)

エラーメッセージ:

An error was encountered while attempting to communicate with this device.(The service is invalid.)
Please try rebooting and reconnecting the device.

Xcode iPhoneへの実機テストエラー・ビルドエラーの一覧とその対応

日本語訳:

このデバイスと通信しようとしたときにエラーが発生しました(サービスが無効です)。
デバイスを再起動して再接続してください。

解決方法:

iPhoneをケーブルから外したのちに、iPhoneを再起動してください。
 参考:iPhone、iPad、iPod touch を再起動する – Apple サポート

iPhoneを再起動後に、再度、ケーブルを接続して、実機転送を行ってください。

Failed to create provisioning profile.

エラーメッセージ:

Failed to create provisioning profile.
The app ID “Swift-Beginners.MyJanken” cannot be registered to your development team.
Change your bundle identifier to a unique string to try again.

日本語訳:

プロビジョニングプロファイルの作成に失敗しました
AppID 「Swift-Beginners.MyJanken」 は、開発チームに登録することはできません。
Bundle Identifierを一意の文字列に変更して、もう一度試してください。

解決方法:

1. iPhone 本体が Mac と接続されている必要があります。
そして、次の図のように、 Xcode の [Device] の欄で ご自身の iPhone が選択されている必要があります(本書 P60 )。

Failed to create provisioning profile.

2.Bundle Identifier は世界中で重複したIDを使うことができません。
そのために、メールアドレスやドメイン等を活用して重複を回避します。
Bundle Identifier を重複しない ID に変更したのちに、再度、ご確認ください。
Bundle Identifier の解説は、本書の P36 に掲載されています。

Development cannot be enabled while your device is locked.

エラーメッセージ:

Development cannot be enabled while your device is locked.
Please unlock your device and reattach.

Development cannot be enabled while your device is locked. Please unlock your device and reattach.

日本語訳:

デバイスがロックされている間は、開発を有効にすることはできません。
あなたのデバイスをロック解除し、再接続してください。

解決方法:

iPhoneがロックされているときは、アプリの転送が行えません。
iPhoneをケーブルから外したのちに、iPhoneのロックを解除して再接続してください。
iPhoneがロックされていないことを確認してから、再度、XcodeよりBuildボタン(▶)を押してください。

Your maximum App ID limit has been reached.You may create up to 10 App ID every 7 Days.

エラーメッセージ:

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の解説は、本書のP36に掲載されています。
Bundle Identifierは世界中で重複したIDを使うことができません。
そのために、メールアドレスやドメイン等を活用して重複を回避します。ですが、このIDを何度も変更していると7日間で10個のIDしか作れない制限がかかります。
7日間なので、少し期間をあけてもらえると新しくIDが作成できるようになり、実機転送が行えます。
この制限は、Apple Developer Programで無料アカウントの場合に発生しています。

Failed to register bundle identifier.

エラーメッセージ:

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を設定することで、エラーは解消されます。
詳細は、 Xcode10でUIパーツとコードの関連付け(紐付け)と削除する方法 を参照してください。

Could not launch “(アプリ名)”

エラーメッセージ:

Could not launch “(アプリ名)”
Verify the Developer App certificate for your account is trusted on your device.Open Settings on (ユーザー名) and navigate to General -> Device Management, then select your Developer App certificate to trust it.

Could not launch “(アプリ名)”

日本語訳:

「(アプリ名)」を起動できませんでした
あなたのアカウントのデベロッパーアプリケーション証明書があなたのデバイス上で信頼できるものであることを確認してください。(ユーザー名)の[設定]を開き、[一般] -> [デバイス管理]に移動し、デベロッパーアプリケーション証明書を選択して信頼してください。

解決方法:

Xcodeで登録したDeveloperアカウントからiPhone本体へ転送することを、iPhone本体で信頼させる必要があります。
次の手順で、信頼してください。
iPhone で[設定]→[一般]→[プロファイルとデバイス管理]の順にメニューをたどります。[プロファイルとデバイス管理]から次の手順ですすめます。

Xcodeで登録したDeveloperアカウントからiPhone本体へ転送することを、iPhone本体で信頼させる必要があります。 次の手順で、信頼してください。

解説は、本書の P65 に掲載されています。

Could not locate device support files.

エラーメッセージ:

Could not locate device support files.
This iPhone XS is running iOS XX.X,which may not be supported by this version of Xcode.

Could not locate device support files.

日本語訳:

デバイスサポートファイルを見つけることができませんでした。
このiPhone XSはiOS XX.Xを実行していますが、このバージョンのXcodeではサポートされていない可能性があります。

解決方法:

iPhoneのiOSのバージョンに対応したXcodeのバージョンではない可能性があります。
直近で、iOSのみをバージョンアップした場合は、必ずXcodeのバージョンアップも実施してください。
App store でXcodeのアップデートを確認してください。
また、企業内ネットワークなどの特殊な環境では、App storeでのアップデートが許可されていないときがあります。
ご自宅での一般的なネットワーク環境でApp storeのアップデートをご確認ください。

A server with the specified hostname could not be found.

エラーメッセージ:

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’.

エラーメッセージ:

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.

The run destination XXXXX iPhone is not valid for Running the scheme ‘MyJanken’.

日本語訳:

実行先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 をアップデートしてください。


Unexpectedly found nil while implicitly unwrapping an Optional value

エラーメッセージ:

Thread 1: Fatal error: Unexpectedly found nil while implicitly unwrapping an Optional value

Unexpectedly found nil while implicitly unwrapping an Optional value エラーへの対処

日本語訳:

スレッド 1: フェータル・エラー。暗黙的にオプション値をアンラップ中に予期せず nil が見つかりました。

解決方法:

使用している変数は、@IBOutlet で接続されたものです。画面のパーツと @IBOutlet の接続が正常にできていないことが原因です。
@IBOutlet の接続を確認してください。


Cannot use instance member ‘xxxxxx’ within property initializer

エラーメッセージ:

Cannot use instance member ‘xxxxxx’ within property initializer; property initializers run before ‘self’ is available

Cannot use instance member 'xxxxxx' within property initializer; property initializers run before 'self' is available

日本語訳:

プロパティイニシャライザ内でインスタンスメンバ ‘xxxxx’ を使用できない。

解決方法:

記述する場所が間違っています。
classで、変数を宣言・初期化する場所で変数を利用しているためエラーになります。
変数を利用したいアクションが発生するメソッド内にコードを移動します。

あとがき

この記事にはないエラーで困っている方は、TwitterでDMを頂けると回答できます😊

 TwitterでのDMはこちら

Pocket
LINEで送る

よっしー

この記事を書いた人。 小林由憲 こばやしよしのり|TickleCode.Co.Ltd 代表社員|リモート月額契約や受託開発が専門|会計生産管理システムエンジニアからWeb・iOSエンジニアへ|4年連続出版 iPhoneアプリ開発集中講座 著者|アプリ開発のお仕事ならお任せください!