web-dev-qa-db-ja.com

dyld`__abort_with_payload:エラーメッセージなし

XCodeでアプリを起動すると、クラッシュするがエラーは発生しない

アプリはこのスレッドで停止しています

enter image description here

問題に関する詳細情報を入手するにはどうすればよいですか?

55
Kevin ABRIOUX

カスタムフレームワークを使用している場合は、Xcodeプロジェクトの[ターゲット/全般]タブの下にある[埋め込みバイナリ]セクションに配置する必要があります。

87
mkonovalov

私にとっては、単純なCleanRebuildがそれを整理しました。それが役に立てば幸い。

50
KlixxOne

フレームワークを埋め込みバイナリアセットリストに追加すると、これが修正されました。これは、外部フレームワークのセットアップが、組み込みフレームワークとしてのXcode GUIの最終的なフォームのように見えるものです(Xcode 9.2、個人的には、パンくずトレイルのほうが好きです;-)): enter image description here

Appleは、ランタイムを意図的にクラッシュさせ、iOS開発でApple以外のフレームワークを単純にリンクされたフレームワークとして使用できないという問題を開発者に何らかの形で伝えましたか?私が思うにビルドエラーとしてそれを出した方が良いでしょう...「それを移動する!」と言うボタンで。

埋め込みバイナリを使用すると、エンドユーザーがアプリとは別にフレームワークを追加する必要がなくなります(または、インストーラーで行う必要があります)。 iPhone(iOS)の場合、それは不可能ですが、macOSでは可能ですが、高速で乱雑になる可能性があります。

エンドユーザーにとっては、単にアプリをドラッグアンドドロップしてmacOSにインストールする方がはるかに優れているため、組み込みがメリットになります。埋め込みにより、管理するフレームワークの外部バージョンを持つという従来の「DLLの競合」も回避されます。 (ディスク容量は安く、顧客の時間は貴重です)。

14
William Cerniuk

ついに解決しました!

私にとってうまくいったのは、フレームワークを「必須」ではなく「オプション」にすることでした。

お役に立てば幸いです!

11
Eran Talmor

プロジェクトのエラーを修正しました!
Object-CプロジェクトでSwiftフレームワークを使用している場合、ビルド設定を変更することをお勧めします。
常にSwift標準ライブラリオプションをYESに埋め込みます。このような: - enter image description here

これがお役に立てば幸いです。

9
Hongbo Liu

診断の「Guard Malloc」のチェックを外すとうまくいきました。 See Image for settings

4
infiniteLoop

「問題に関する詳細情報を入手するにはどうすればよいですか?」という元の質問に答えるために、 this Appleフォーラムスレッド は非常に簡単なヒントを提供します。単にXCodeの外でクラッシュするアプリを実行します(つまり、XCodeから停止し、デバイスで手動で実行します)。これにより、何が起こったかについての詳細を含むクラッシュログが作成されます。このログは、XCodeウィンドウメニュー/ [デバイスとシミュレーター]-> [デバイスログの表示]で確認できます。

3
fred

同じ署名でエラーが発生し(私のプロジェクトはObj-Cにありました)、適切なフレームワークとリンクするのを忘れていたことがわかりました。エラーの発見につながったデバッグログのエラーメッセージは次のとおりです。

dyld:シンボルが見つかりません:_OBJC_CLASS _ $ _ SFSafariViewController

特定のエラーについては、SafariServices.frameworkを[ターゲット]-> [ビルドフェーズ]-> [ライブラリとバイナリをリンク]に追加すると問題が解決しました。おそらく同じ特定のエラーと解決策はありませんが、手がかりを得るためにデバッグログをチェックすると便利です。

3
user1825506

1)実行を継続して、「MyFramework.framework」が見つからないなどのメッセージがデバッガに表示されるかどうかを確認します。その場合は、次の説明に従ってください: OS X Framework Library not loaded: 'Image not found' 私にとって、この答えはうまくいきました: https://stackoverflow.com/a/44796734/406076

2)「埋め込みバイナリ」セクションでバイナリを追加したことを確認します。

3)ビルドフェーズセクションでフレームワークの署名を有効にしていることを確認します。

4)埋め込みフレームワークがシンボリックリンクではないことを確認してください。

5)「ライブラリとバイナリをリンク」フェーズで、リンクされたフレームワークを必須ではなくオプションにすることができます。これにより、iOSは起動時にこれらのフレームワークを検索しないようになります。とにかく、これらのフレームワークを使用するには、エラーを修正する必要があります!

6)すべてのinfo.plistエントリが適切かどうかを確認します。私の場合、iOS用のMac info.plistファイルを使用していました。 iOSプロジェクトには存在しなかったxibファイルを探していました。

7)そのような変更の後、クリーンアップしてビルドします。これらのファイルが既に存在する場合、xcodeはこれらのファイルをコピー/変更しないため、これが必要です。

8)iPadからアプリを削除してからインストールします。 7と同じ理由。

3
coolVick

Info.plistで「プライバシー-カメラ使用法の説明」を適用するのを忘れていました。

しかし、この情報が他の誰かに役立つかどうかわからない...

2
Linus

私は同じ問題に直面していました。ターゲットのビルド設定で[常に埋め込みSwift標準ライブラリ]を[はい]に設定するとうまくいきました。

1
Arpit Panda

Plistにパーミッションの指定がないことで解決された同様の問題がありました(それは奇妙なことに..)

AVCaptureDeviceを使用しようとしましたが、起動時にクラッシュしました(私のアプリは非常に最小限でした)

-Privacy - Camera Usage Descriptioninfo.plistに追加すると解決しました。

1
Rock_Artist

Objective-CアプリケーションでSwiftで記述されたフレームワークを使用している場合、フレームワークを使用するアプリにSwiftツールチェーンを含める必要があります。

これを行うことがわかった方法は、XCodeがSwiftを認識し、プロジェクトに適切に追加するように、アプリでダミーSwiftファイルを作成することです。その後、ダミーファイルを削除します。

Swiftファイルを追加せずにSwiftをObjective-Cプロジェクトに明示的に追加するより良い方法を誰かが知っていたら、私は大好きです。

1
markw

私はそれを解決する正しい方法を見つけました。

AppleWWDRCA.cerがシステムのデフォルトモードに設定されていることを確認すると、動作します:

enter image description here

1
Leo

carthageビルドフレームワークを使用する場合、フレームワークをプロジェクトにドラッグした後、それをGeneral/Embedded Binariesに追加する必要があります。

1
responser

対象バージョンよりも新しいiOSバージョンからのみアクセス可能なシステムフレームワークを使用している場合に発生することがあります。このリンクされたフレームワークをオプションとしてマークすることで修正される場合があります。

たとえば、iOS 11を対象とし、iOS 12のオートフィル機能で AuthenticationServices を使用しているプロジェクトは、iOS 11で説明されている方法でクラッシュします。

0
LilKitty

同じ問題が発生した理由は、macOS Mojaveの新しい更新後、開発者証明書を失効させ、Xcode 10で新しい証明書を作成したためです(一部のログイン資格情報がすべて削除され、一部が古いキーチェーン証明書)。

そのため、デバイスに適切な新しいプロビジョニングプロファイルをインストールするために、インストール済みのアプリをデバイスから削除し、Xcodeで再度実行するだけで済みました。

0
xscoder

Xcode v10.2.1への更新とSwiftからv5.0への更新carthage + RxSwiftを使用している場合、新しいRxSwiftはRxRelay.frameworkを使用します。/Carthage/Buildディレクトリに移動して、そのフレームワークを見つけて、プロジェクトに追加してください。 carthage copy-frameworksスクリプトにも追加することを忘れないでください:$(SRCROOT)/Carthage/Build/iOS/RxRelay.framework

おかげで解決しました: https://stackoverflow.com/a/52550148/2493555

0
milczi

プロジェクトのエラーを修正しました。
1。エラーが発生したときに他のスレッドを確認します。エラーはカメラに関するものであることがわかりました。

enter image description here

  1. Info.plistファイルにカメラのプライバシーを追加します。
    1)info.plistファイルを開きます。
    2)「Privacy-Camera Usage Description」という新しいキーを追加し、アプリにカメラが必要な理由を説明する文字列を入力します。この説明は、アプリでプライバシーを使用する必要があるときに表示されます。

enter image description here

0
WangYang