18

プロジェクトの一部をiOS5/ARCに移動しています。最も古いプロジェクトの1つ(iOS 4.2、iPod Touch 2gをサポートするためのarmv6)は私に与えています:

dyld`dyld_fatal_error:
0x8feb1070:  int3   
0x8feb1071:  nop    

起動イメージの直後ですが、メインに進む前です。iOS5に更新されたlib/codeである必要がありますが、どれですか?推測よりも良い方法を使用することは可能ですか?

4

7 に答える 7

25

Xcode4.3.2 と SDK iOS5.1 を使用してこのプロジェクトを再現しようとして、この問題に遭遇しました。問題は、Xcode4.3.2 の標準プロジェクト テンプレートが iOS5 用に構成されていることでした。iOS5 には、以前の iOS バージョンではサポートされていない機能がいくつか含まれています。私の場合、GLKit フレームワークが取り込まれており、iOS4.2 を実行している iPhone3G ではサポートされていませんでした。私が得ていたエラーはあなたのようなものでした:

dyld`dyld_fatal_error:
0x2fe01080:  trap   
0x2fe01084:  mov    r0, r0

コンソール出力を詳しく調べると、アプリがクラッシュする原因を確認できます。

dyld: Library not loaded: /System/Library/Frameworks/GLKit.framework/GLKit
Referenced from: /var/mobile/Applications/A60A53B1-F87D-467D-BB0B-82C603049202/HiJackInTheBox.app/HiJackInTheBox
  Reason: image not found
(lldb) 

このエラーは、アプリがインストールされたターゲットの iOS 常駐で GLKit フレームワークが見つからなかったことを意味していました。フレームワークは、Project->BuildPhases->LinkBinaryWithLibraries の下のビルドに取り込まれていました。

そのため、問題を修正するには、GLKit フレームワークとそれを参照するすべてのコードを削除する必要がありました。その後、ビルドは成功し、ターゲット デバイスで実行されました。お役に立てれば!

于 2012-06-02T17:20:01.143 に答える
5

コンソール出力に移動すると、どのフレームワークがデバイスになく、問題を引き起こしているかを示すエラーが表示されます (grundyoso が回答で述べたように)。

したがって、これを修正するには、ターゲットの[一般] タブに移動し、不足しているフレームワークを [埋め込みバイナリ]セクションに追加します。

これにより、フレームワークがアプリにコピーされるため、どのデバイスでも見逃されることはありません。

于 2015-12-23T23:28:05.227 に答える
2

私は同じ問題を抱えていました.これは、iPhone 6sでアプリを実行していたときに発生し、以前は機能していました..

Product -> Clean に移動して、もう一度実行してください...

これが役立つことを願っています。

于 2015-10-17T14:06:45.890 に答える
2

Reachability.framework にも同じ問題があります。iPhone 5 では問題なく動作しましたが、iPhone 7S Plus で同じコードを実行すると、エラーが表示されます。

この問題の解決策は次のとおりです。 1. [一般] -> [組み込みバイナリ] に移動します。2. 同じフレームワークを追加します (私の場合は Reachability.framework) 3. 次に、Linked Frameworks and Libraries に libc++.tbd を追加します。

それがあなたのために働くことを願っています。

于 2016-09-23T06:59:03.623 に答える
1

iOS 4.2 を搭載した iPhone 3GS でテストしたとき、 xCode 4.3 (cocos3d ベース)プロジェクトで同じ問題が発生しました。

プロジェクト設定に移動して更新し
ます。まとめ | リンクされたフレームワークとライブラリ | GLKit.frameworkOptional
(ではなくRequired ) に変更してから、再度テストします。

この変更を行った後、今ではすべてがうまくいっているようです。

幸運を!

于 2012-06-15T15:03:06.957 に答える
0

Carthage を使用している場合は、「フレームワークのコピー」にフレームワークを追加するのを忘れている可能性があります。[ターゲット] -> [ビルド フェーズ] -> [フレームワークのコピー] -> [フレームワークをリストに追加] に移動します。

于 2016-04-05T01:38:59.193 に答える