こんにちは、こばやしよしのり @yoshiii514 です。
Xcode・SwiftからiPhone本体へアプリを転送(実機転送)した時や、ビルドした時にエラーメッセージが表示されることがあります。
エラーメッセージの内容応じて、解決方法を記載いたしますので、参考にしてください。
また、Xcode、Swift、アプリ開発についてのおすすめ本と学習方法については次のページで書いています。
【目 次】
Xcode・Swift 実機テストエラー・ビルドエラーの一覧と解決方法
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 “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 が選択されている必要があります。
2.Bundle Identifier は世界中で重複したIDを使うことができません。
そのために、メールアドレスやドメイン等を活用して重複を回避します。
Bundle Identifier を重複しない ID に変更したのちに、再度、ご確認ください。
Bundle Identifier の解説は、本書に掲載されています。
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.
エラーメッセージ:
You may create up to 10 App ID every 7 Days.
日本語訳:
AppIDは、7日間で最大10個までAppIDを作成することができます。
解決方法:
AppIDは、Bundle Identifierのことです。
Bundle Identifierの解説は、本書に掲載されています。
Bundle Identifierは世界中で重複した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.
日本語訳:
「app identifier」の「Swift-Beginners.MyFirst」をあなたのチームに登録することはできません。 「bundle identifier」を一意の文字列に変更してもう一度試してください。
解決方法:
「bundle identifier」が重複することがエラーの原因ですので、重複しないようにIDを設定することで、エラーは解消されます。
詳細は、 Xcode10でUIパーツとコードの関連付け(紐付け)と削除する方法 を参照してください。
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.
日本語訳:
あなたのアカウントのデベロッパーアプリケーション証明書があなたのデバイス上で信頼できるものであることを確認してください。(ユーザー名)の[設定]を開き、[一般] -> [デバイス管理]に移動し、デベロッパーアプリケーション証明書を選択して信頼してください。
解決方法:
Xcodeで登録したDeveloperアカウントからiPhone本体へ転送することを、iPhone本体で信頼させる必要があります。
次の手順で、信頼してください。
iPhone で[設定]→[一般]→[プロファイルとデバイス管理]の順にメニューをたどります。[プロファイルとデバイス管理]から次の手順ですすめます。
解説は、本書に掲載されています。
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 で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の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
エラーメッセージ:
日本語訳:
解決方法:
使用している変数は、@IBOutlet で接続されたものです。画面のパーツと @IBOutlet の接続が正常にできていないことが原因です。
@IBOutlet の接続を確認してください。
Cannot use instance member ‘xxxxxx’ within property initializer
エラーメッセージ:
日本語訳:
解決方法:
記述する場所が間違っています。
classで、変数を宣言・初期化する場所で変数を利用しているためエラーになります。
変数を利用したいアクションが発生するメソッド内にコードを移動します。
Could not launch Simulator.app.
エラーメッセージ:
Domain: DTiPhoneSimulatorErrorDomain
Code: 4
The operation couldn’t be completed. (OSStatus error -1712.)
Domain: NSOSStatusErrorDomain
Code: -1712
日本語訳:
ドメインで起動できませんでした。DTiPhoneSimulatorErrorDomain
コードは?4
操作を完了できませんでした。(OSSStatus エラー -1712.)
ドメインです。NSOSStatusErrorDomain
コードは?-1712
解決方法:
1.Macを再起動後にシミュレータの実行
2.プロジェクトをクリーンアップして再ビルドします。
Shift + Command + k でクリーンできます。
メニューなら[Product]> [Clean Build folder]でできます。
3.プロジェクトを削除して最初から作り直す
terminating with uncaught exception of type NSException
エラーメッセージ:
terminating with uncaught exception of type NSException
日本語訳:
理由:'[
タイプNSExceptionのキャッチされない例外で終了する
解決方法:
1.画面パーツとコードの関連付けを確認します。
2.関連付けで警告マークがある場合は、関連付けを削除して、再設定してください。
書籍「たった2日でマスターするiPhoneアプリ開発集中講座 Xcode 11 Swift 5対応」のP105を参考にしてください。
学習する習慣を身につけたい、他の参加者と作業したい、アプリ開発の基本をマスターしたい、という方のために無料で学べる勉強会です。
グループにメンバー登録して頂くと、イベント開催時にメールで通知されます。
グループのメンバーとして参加する
本書「iPhoneアプリ開発集中講座」を執筆している現役エンジニア講師陣が直接に指導!
基礎、課題実習で実践力を鍛えて、オリジナルアプリ公開までチャレンジ!
充実した転職支援もあるので、エンジニアへ転職したい人にもおすすめです!
まずは、現役エンジニアに相談できる無料相談をご利用ください。