1

私の iOS プロジェクトは、サード パーティの (オープン ソースではない) 静的ライブラリ (つまりlibA.a) をlibA.a使用CocoaLumberjackしていCocoaLumberjackましたCocoaLumberjack

CocoaLumberjackプログラムのログを追跡するためにも使用したいのですが、 CocoaLumberjackCocoaPods を介してインストールすると、シンボルの重複エラーが発生します。

質問:

  1. Xcode がシンボル エラーを報告しないように 、シンボルを非表示にする方法はありますか?CocoaLumberjacklibA.a

  2. file loggerに推奨できるライブラリはありますか?

今、私は のシンボルを調べてlibA.a、 のソースと対比しています。使用されCocoaLumberjackている のバージョンを見つけるために閉じています。次のステップは、プロジェクトにCocoaLumberjack libA.aのヘッダー ファイルのみを含める必要があります。CocoaLumberjackうまくいくはずですが、私はこの方法が好きではありません。

4

1 に答える 1

0

オブジェクト ファイルをスタティック ライブラリからアンパックし、CocoaLumberpack オブジェクト ファイルなしで再パックできます。

何かのようなもの:

$ ar x libA.a
$ rm cococaLumberjackFile*.o      # Whatever they are called
$ ar cr libA.a *.o

静的ライブラリが太い(複数の CPU アーキテクチャを含む) 場合、これはさらに困難になり、多くlipoの苦痛を伴います。

編集: コードで CocoaLumberjack を使用し、 とリンクしてくださいlibA.a。サードパーティ ライブラリCocoaLumberjack の両方にオブ​​ジェクトを提供します。

于 2016-10-10T12:18:50.740 に答える