0

iPhone 3G で iOS 5.0 SDK をテストすると、大量の警告が表示されます (ただし、アプリは正常に動作します)。iPhone 4 でテストすると、警告が表示されません。armv6と関係があるようです。まず、私の設定といくつかの情報があります:

Xcode バージョン: 4.2
iPhone モデル: iPhone 3G
SDK: 最新の iOS(iOS 5.0)
アーキテクチャ: $(VALID_ARCHS)
有効なアーキテクチャ: armv6 armv7
iOS 展開ターゲット: iOS 3.1

編集: 私は 2 つの iPhone 3G を持っています。1 つは iOS 3.1.3 を実行し、もう 1 つは iOS 4.2.1 を実行します。警告は、3.1.3 を実行しているものでのみ発生します。

これが最初の 6 つの警告です。非常によく似た 35 個の警告があります (これらを抑制できますか?)。

警告: オブジェクト ファイル "/var/tmp/AppleMBX/AppleMBX-48~174/AppleMBX.build/MBXGLEngine.build/Objects-normal/armv6/fb.o" が見つかりませんでした - "/SourceCache/AppleMBX のデバッグ情報がありません/AppleMBX-48/MBXGLEngine/fb.c".

警告: オブジェクト ファイル "/var/tmp/AppleMBX/AppleMBX-48~174/AppleMBX.build/MBXGLEngine.build/Objects-normal/armv6/get.o" が見つかりませんでした - "/SourceCache/AppleMBX のデバッグ情報がありません/AppleMBX-48/MBXGLEngine/get.c".

警告: オブジェクト ファイル "/var/tmp/AppleMBX/AppleMBX-48~174/AppleMBX.build/MBXGLEngine.build/Objects-normal/armv6/fog.o" が見つかりませんでした - "/SourceCache/AppleMBX のデバッグ情報がありません/AppleMBX-48/MBXGLEngine/fog.c".

警告: オブジェクト ファイル "/var/tmp/AppleMBX/AppleMBX-48~174/AppleMBX.build/MBXGLEngine.build/Objects-normal/armv6/mbxlite_mp.o" が見つかりませんでした - "/SourceCache/AppleMBX のデバッグ情報がありません/AppleMBX-48/MBXGLEngine/mbxlite_mp.c".

警告: オブジェクト ファイル "/var/tmp/AppleMBX/AppleMBX-48~174/AppleMBX.build/MBXGLEngine.build/Objects-normal/armv6/eglglue.o" が見つかりませんでした - "/SourceCache/AppleMBX のデバッグ情報がありません/AppleMBX-48/MBXGLEngine/eglglue.c".

警告: オブジェクト ファイル "/var/tmp/AppleMBX/AppleMBX-48~174/AppleMBX.build/MBXGLEngine.build/Objects-normal/armv6/drawtex.o" が見つかりませんでした - "/SourceCache/AppleMBX のデバッグ情報がありません/AppleMBX-48/MBXGLEngine/drawtex.c".

4

2 に答える 2

0

ここでの問題は、プロジェクトのデバッグ シンボルがリンクされたライブラリ内ではなく、コンパイルされたオブジェクト ファイル (.o ファイル) に保存されることです。

現在、開発環境ではおそらくこれらのファイルが使用可能であるため、警告は表示されませんが、プロジェクトを他のデバイスに移動すると、ファイルは存在しなくなりますが、ライブラリにはそれらのオブジェクト ファイルへの参照が残っています (デバッグ目的)。

やりたいことは、ライブラリからデバッグ シンボルを削除することです (これらは、-g オプションを使用してコンパイルするときに生成され、バイナリのシンボル テーブルにアタッチされます)。

strip -S binaryfileコンパイル後に、プロジェクト内の各バイナリ ファイルに対してコマンドを使用します。

注: これにより、デバッグ シンボル テーブルが削除され、デバッグ時にシンボルと情報を表示できなくなります。

于 2012-10-23T13:36:09.983 に答える
0

これは、iPhone 3 と 4 の間で変更された画像サイズの最大値に関連している可能性があります。

「あなたの質問に関して: 各 iOS デバイスには、ロードできるテクスチャの大きさにいくつかの制限があります。iPhone は、(私が思うに) モデル 3GS までは、最大サイズが 1024x1024 ピクセルのテクスチャしかロードできません。iPad と iPhone 4 は、最大 2048x2048 を処理します。」

http://forum.sparrow-framework.org/topic/strange-bad-access-when-running-on-device

于 2012-03-01T18:46:47.290 に答える