7

興味深い問題があります。アプリ (具体的にはファイル NRURLProtocol.m) で NRURLProtocol というクラスを参照するクラッシュ ログを取得しています。クラッシュ ログによると、たとえば iOS フレームワークではなくアプリに存在します。ただし、私のプロジェクトにも NRURLProtocol.m ファイルにも NRURLProtocol クラスはありません。Google または StackOverflow を介してオンラインで検索すると、このクラスへの参照は文字通り 0 になります。

バイナリで次のコマンドを実行すると:

otool -o binary | grep NR

NRURLProtocol など、NR プレフィックスを持つさまざまなクラスを見つけました。ただし、otoolバイナリがリンクしているすべての静的ライブラリで同じコマンドを使用しても、何も見つかりません。ドライブに NRURLProtocol.m というファイルが見つかりません。

これを追跡する方法について、私は少し途方に暮れています。このクラスは私のバイナリに存在するだけでなく、何かによって URL プロトコルとしてロードされています。otoolしたがって、何も見つからないにもかかわらず、私が使用しているサードパーティのライブラリにはそれが含まれているようです。

私のバイナリに表示される NR プレフィックスを持つクラスの完全なリストを次に示します。

NRASIRequestTracker
NRASISupport
NRErrorData
NRLogger
NRNonARCMethods
NRSecureUDID
NRStats
NRStatsEngine
NRSupportability
NRTransactionData
NRURLProtocol
NRNSURLSupport

私がリンクしているすべてのサードパーティの静的ライブラリは次のとおりです。

Facebook SDK
HockeyApp SDK
ZipKit
Mixberry SDK (though not actually using it anywhere, currently disabled)
Flurry SDK
Google AdMob SDK
HelpShift SDK
UrbanAirship SDK
libBass (audio library, doesn't contain Objective-C code)
EX2Kit (my own toolkit library, which doesn't contain this code)

これらのクラスがどこから来ているのか、または他にどのようなコマンドを試すことができるのか、誰にも手がかりがありますか?

4

1 に答える 1