web-dev-qa-db-ja.com

iPhone SDK 4.2.1に関する問題

おそらくばかげた質問です。デバイスでデバッグモードでプロジェクトを実行すると、次の文字列を含む多くの警告が表示されます。

警告:/Developer/Platforms/iPhoneOS.platform/DeviceSupport/4.2.1(8C148a)/ Symbols/System/Library/PrivateFrameworks /のシンボルを読み取れません

「4.2.1」と「(8C148a)」の間のスペースによるものだと思います。どうすれば取り除くことができますか?これはXcodeのどこかにある設定でなければなりません。

シミュレータにはこれらの警告はありません。

事前に感謝、クリスチャン

23
Chrizzz

この問題は4.2.1(8C148a)で発生しました。これは、電話とXCodeで異なるDeviceSupportファイルが原因で発生すると考えられます。私は多くのことを試しましたが、最終的にはこのフォルダーを削除することで解決しました:

/Developer/Platforms/iPhoneOS.platform/DeviceSupport/4.2.1(8C148a)/

この後、iOSデバイスを接続し、接続してデバイスからシンボルファイルを復元するように求められ、再び正常に機能しました。

27
akaru

私は得ていました:

警告:/Developer/Platforms/iPhoneOS.platform/DeviceSupport/4.2.1(8C148)/Symbols/usr/lib/info/dns.soのシンボルを読み取れません(ファイルが見つかりません)。

バージョン4.2.1には「info/dns.so」は含まれていません。少なくとも私にはそうでした。ただし、4.2ディレクトリには存在し、/ DeviceSupport/Latestショートカットによってポイントされます。デバッガーが探していた場所に「info/dns.so」をコピーして貼り付けただけで、警告が修正されたようです。

38
GnarlyDog

SDKのOSよりも少し新しいOSのiOSデバイス(iPad)を接続すると、Xcodeのオーガナイザーウィンドウに新しいシンボルをダウンロードするボタンが表示されます。それを押して待ってください。

2
hotpaw2

私のデバイスが私が作成したものと同じバージョンではなかったとき、私はそのようなエラーを見ました。 4.2ベータ版ではありませんか?

1
Mark Adams

8C148aは「最終版」ではないと思います。最終ビルド番号が文字で終わっているようには見えません(私の電話は「4.2.1(8C148)」と報告しています)。私はまだその上でアプリをデバッグしていません(シンボルを抽出するのを待って退屈し、家に帰りました)。

4.2 GMは8C134だったので、確かに新しいソフトウェアを実行していますが、どこかでビルド番号が間違っています。

しかし、私は余談です。


/Developer/Platforms/iPhoneOS.platform/DeviceSupportにはどのディレクトリがありますか? 「4.2.1(8C148a)」は存在しないが「4.2.1」は存在する場合、ターミナルで次のようなことをしている可能性があります。

cd /Developer/Platforms/iPhoneOS.platform/DeviceSupport
ln -s "4.2.1" "4.2.1 (8C134a)"

同様に、「4.2.1(8C148)」が存在する場合は、代わりに次のようにします。

ln -s "4.2.1 (8C148)" "4.2.1 (8C148a)"

通常、このトリックを使用して、ベータSDKをインストールせずにXcodeをベータデバイスと通信させることができます。これは、ベータ版(テスト目的)と最新の「最終版」(リリース目的)を実行している人がいる場合に役立ちます。

1
tc.

彼らが確かなSDKを提供するまで、クールな回避策は次のとおりです。

1-実行可能ファイルを選択します(プロジェクトブラウザの[実行可能ファイル]で)、

2-情報を取得し、「Break on Debugger()and DebugStr()」をオフにします*

乾杯、そして2011年のご多幸をお祈りします。

T

これはNSLogを無効にしません。

0
Moose

現時点で不一致があり、リリースされたバージョン4.2.1はSDKバージョン4.2よりも前です。

@Khrobのコメントで修正されました。

0
Luke

IPhone 3Gで4.2.1を、10.6.6を搭載したMacBook ProでXcode 3.2.5を実行しています。 Xcodeをクリーンインストールした後、iPhoneを接続した後、4.2.1のシンボルをダウンロードするよう求めるプロンプトが表示されました。転送後、iPhoneを接続するときにプロンプ​​トが表示されなくなりましたが、「シンボルを読み取れません」という大量のメッセージが表示されました。

まず、私にとってうまくいかなかったこと:

  • 「4.2.1(8C148)」という名前の「4.2(8C134)」へのシンボリックリンクの作成
  • ../../Developer/SDKs/iPhoneOS4.2.sdkへの '4.2(8C134)'にあるようなディレクトリ '4.2.1(8C148)'内のシンボリックリンクの作成

上記の両方により、いくつかのライブラリで「UUID不一致」エラーが発生しました。 GDBは起動しますが、ハングしているように見えます。

最後に、現在私のために働いているもの:

  • %cd /Developer/Platforms/iPhoneOS.platform/DeviceSupport
  • %mkdir '4.2.1(8C148)'#存在しない場合
  • %cd '4.2.1(8C148)'
  • %cp ../ 4.2\\(8C134 \)/ DeveloperDiskImage.dmg *。
  • %cp -r ../../Developer/SDKs/iPhoneOS4.2.sdk Symbols
  • アプリケーションのデバッグセッションを実行して、コンソールを監視してみます。 UUIDの不一致に関する警告ごとに、ログメッセージに示されているファイルを削除します(AudioToolbox、CoreMediaなどがありました)。
  • GDBを停止して再試行してください。うまくいけば成功です

少なくとも開発中のアプリケーションでは、すべてが正常に動作します。うまくいけば、Xcode 4.0はこれを解消するでしょう。

0
Brad Howes