web-dev-qa-db-ja.com

シミュレータでアプリを実行できません:実行中にエラーが発生しました(ドメイン= LaunchServicesError、コード= 0)

プロビジョニングプロファイルで問題が発生した後、シミュレータでアプリを実行できません。私はSwift Xcode 6-beta 4でコーディングしています。これは、証明書のプロファイルで問題が発生する前は問題ありませんでした。

ビルドのクリーニングを試みました。実行のためにxCode6-beta4のコマンドラインをチェックしました。ビルドの展開を確認し、7.0に設定したため、Swiftは互換性について文句を言うことはありません。プロビジョニングのエラーを修正しました。

32
nferocious76

これは、拡張機能のバンドルIDの前にアプリのバンドルIDが付いていない場合に発生します。たとえば、アプリがcom.mycompany.appname、拡張機能はcom.mycompany.appname.today

Swiftを使用しており、NSExtensionPrincipalClassを使用してプリンシパルクラスを設定している場合は、拡張モジュールのターゲットが "Defines Module"に設定されていることを確認する必要があります。 「はい」およびNSExtensionPrincipalClassの値を「YourModuleName.YourClassName」に等しくします。

60
Sam Soffes

シミュレーターをリセットして修正しました。

iOSシミュレーター>コンテンツと設定をリセット...

62
k20

「ドメイン= LaunchServicesErrorコード= 0」エラーには複数の理由があるようです。また、iOS8シミュレーターでアプリを再インストールしようとしたときにも遭遇しました。再インストールできませんが、最初に古いアプリを削除する必要があります。

問題は次の方法で解決されました。

  1. Xcodeで、空の[バージョン]または[ビルド]フィールドに、[ターゲット]-> [一般]-> [ID]の適切な値を入力します

  2. シミュレーターで、コンテンツと設定をリセット...

その後、すべてが正常に動作します。

14
hufeng03

これは、Todayウィジェットのテンプレート作成プロジェクトからデフォルトのStoryBoardを削除した場合にも発生します。これを修正するために、NSExtensionPrincipalClassの下にNSExtensionを追加し、Today Widget View Controllerを含むクラスをポイントしました。これはテンプレートのデフォルトではTodayViewControllerです。

これは、拡張機能のInfo.plistで次のようになります。

NSExtension NSExtensionPointIdentifier String com.Apple.widget-extension NSExtensionPrincipalClass String TodayViewController

11
Dhiraj Gupta
  1. 製品->クリーン

  2. iOSシミュレーター>コンテンツと設定のリセット

  3. XCodeを再起動します

9
Alan Dong

上記のいずれも機能しませんでしたが、派生データを削除すると問題が解決しました。

派生データを削除するには、[ウィンドウ]> [プロジェクト]に移動し、現在のプロジェクトを選択して、適切な削除ボタンを押します。

8
rob

"コンテンツと設定のリセット" from iOSシミュレーターメニューオプションとシミュレーターの起動終了問題を解決しました。

Reset Content and Settings

6
Sauvik Dolui

私にとっての解決策は、埋め込み可能なフレームワークとして構築されていないフレームワークを埋め込むことではありませんでした。

5
mxcl

問題の原因を見つけました。

ポッド経由でShareKitを使用しています。この問題は、ShareKitが使用するGooglePlus SDKに関連しており、Appleによるポリシーの変更のため、これを更新する必要があります。 http://googledevelopers.blogspot.com.br/2014/09/an-important-announcement-for-ios.html

そこで、ポッド「ShareKit」を次のように置き換えました。

ポッド「ShareKit/Twitter」

ポッド「ShareKit/Facebook」

ポッド「ShareKit/Pocket」

ポッド「ShareKit/Evernote」

GooglePlusサブプロジェクトを除外すると、アプリケーションは8.0シミュレーターの下で正常にデプロイおよび実行されます。

これが他の誰かに役立つことを願っています。

4
Paul Gee

私の場合、これで問題は解決しました。

バンドル識別子は空にしないでください。以下のリファレンスでフィールドを見つけることができます:

enter image description here

1
aToz

この問題を解決しました。アドバイスをありがとう。 :)

この問題は、メインバンドルと同じ識別子でキーボード拡張アプリをビルドするときに常に発生します。このような。

メインバンドルにこの「com.codemagnus.ExAppMain」がある場合、拡張機能にもこの識別子「com.codemagnus.ExAppMain」が必要です。これは、シミュレータで実行する場合、起動サービスエラーになります。ただし、ビルドを作成することはできます。しかし、私が見つけた問題は迷惑でした。このアプリはデバイスにインストールできません。 :/

シミュレーターで実行したい場合。この「com.codemagnus.ExAppMain.ExApp」は、拡張キーボードで、ExAppが拡張名であった場所にあるはずです。メインバンドルは「com.codemagnus.ExAppMain」である必要があります。これは、シミュレータで完全に実行されます。ただし、「埋め込みバイナリのバンドル識別子の前に親アプリのバンドル識別子が付きません」という結果になります。

埋め込みバイナリバンドル識別子:com.codemagnus.ExAppMain.ExApp親アプリバンドル識別子:com.codemagnus.ExAppMain

IPAビルドのこの問題を解決するための解決策を探しています。

1
nferocious76

これは私を夢中にさせました。ここで提案されているすべてを確認し、Xcodeを再インストールし、コンピューターを再起動しましたが、何も機能しませんでした。以前のいくつかのコミットを確認した後、問題を見つけました。

コンテキストについては、Objective Cでカスタムキーボードエクステンションを使用しています。新しいカスタムキーボードエクステンションターゲットを追加すると、「次のキーボード」ボタンを持つKeyboardViewControllerスタブクラスが得られます。拡張のInfo.plistNSExtensionPrincipalClass値をKeyboardViewControllerとは異なるクラス名に変更し、作業を開始しました。最終的に、スタブKeyboardViewControllerはデッドコードだったため、取り除くことにしました。

KeyboardViewControllerファイルを削除してXcodeから削除すると、この問題が発生しました。それらを元に戻すと、アプリは再び動作するようになりました。

1
Jared Egan

ビルド設定を確認してください。一番下までスクロールして、ユーザー定義バンドルのプレフィックスが正しいことを確認してください。通常com.whatever。

上部に設定するだけでは、この下部の設定が常に変更されるとは限りません。シミュレータをリセットしたり、派生フォルダを揚げたりした後、これは最終的に私のために働いた.

私はIOS 9.3、xCode 7.3

0
wm_j_ray

XCodeを介してアプリを起動するときに、「親バンドルはサブバンドルと同じ識別子を持っています...」というようなエラーが表示されました。

XCode8の「プロジェクト->一般」でバンドル識別子を短縮しました。最初は、バンドルIDはcom.companyname ..でした。

アプリケーション名が20文字を超えていました。 12文字に短縮すると、うまくいきました。

0
NinjaAPW

Xcode 7.3

これは、ターゲット名が長すぎるために発生する可能性があります。ターゲット名をもっと短い名前に変更してみてください(bundleIdentifierを一致するように変更してください)。

0
user3178048

このエラーの原因を理解するには、最初にシミュレータのログファイルを確認する必要があります。これらは通常、~/Library/Logs/CoreSimulator/CoreSimulator.logまたは同様の場所にあります。そのため、まずログを調べて根本原因を特定し、それをさらに調査することを強くお勧めします。 ( このスレッド を見て、ログの場所を確認できます。)

たとえば、ErrorDescription=Failed to chmod /Users/username/Library/Developer/CoreSimulator/Devices/thenなどのエラーが発生した場合、おそらくシミュレーターをリセットするのが最も簡単でしょう。 ErrorDescription=WatchKit 2 app's bundle ID com.mydomain.AppName.watchapp is not prefixed by the parent app's bundleなどのエラーの場合、おそらくプロジェクトのメインバンドルIDの設定方法にエラーがあります。

0
carnun

NSExtensionPointIdentifierの値を誤って変更したため、このエラーが発生しました。拡張機能のIDであると考えられていましたが、拡張機能の種類を示す これらの値 のいずれかでなければなりません。

0
Tim Scott

バンドル識別子のほかにApple watchを使用している場合は、info.plistでキーWKAppBundleIdentifierに正しいウォッチアプリバンドル識別子が含まれていることも確認する必要があります。

0
Fahim

展開ターゲットを6.0から7.0に変更すると、このエラーが発生し始めました。シミュレーターをリセットすると問題が解決することがわかったため、アプリに関連するすべてのシミュレーターでこれを行う必要がありました。しかし、6.0に戻って特定のシミュレーター用に再コンパイルすると、すぐに機能しましたが、7.0に戻るとシミュレーターが破損し、設定を再度クリアする必要がありました。

明らかに、展開ターゲットはシミュレーターのコーディングに影響し、コーディングは下位互換性がありますが、上位互換性はありません。さらに、ログメッセージはあまり役立ちません。マニフェストを使用してアプリをキャッシュファイルにハードリンクできなかったことを示しています(もちろん、アプリ、キャッシュ、およびマニフェストへのパス名を指定します)。

0
user6026720