2012-07-31 12 views
7

大規模なレガシーC++ライブラリをiOSアプリケーションと統合しようとしています。デバイスを構築して実行することはできますが、アプリをアーカイブすることはできません。次のエラーでアーカイブに失敗します。Xcodeはデバッグストリップのエラーをアーカイブします

コマンド/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/strip私はストリップの「-v」を行なったし、シリーズを取得し、終了コード1

で失敗しましたシンボル再配置エントリによって参照でストリップすることができません:/MyAppに/ DerivedData

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/stripに似た警告の/SmartMusic_iPad/Build/Intermediates/ArchiveIntermediates/MyApp/IntermediateBuildFilesPath/UninstalledProducts/libMyLibi-iOS.a(MyWhatever.o)

このメッセージが警告または失敗の理由であるかどうかは不明です。ストリップ出力には他に問題はありません。すべての手がかりは?

答えて

1

stripmanpageを参照)とは異なるオプションがあります。-rオプションを使用することをお勧めします。 Xcodeプロジェクトの設定からタイプののストリッピングを実行するように設定することができます。 Xcodeのオプションとマンページのオプションを関連付けることができるかどうかを確認してください。

+0

注:ビルド設定の[Additional Strip Flags]オプションを使用して、ストリップのコマンドラインパラメータを明示的に設定することができます。残念ながら、 "-r"を含むストリップはまだ失敗します。 – HatAndBeard

5

スタティックライブラリターゲットのビルド設定で、「配備後処理」および「コピー時にデバッグシンボルを取り除く」で「いいえ」を選択します。コンパイルされたコードなので、シンボルは取り除かれる必要はありません。 同じエラーが発生しました( 'usr/bin/stripが終了コード1で失敗しました')、これが原因で修正されました。

+0

これはすでにNOでエラーが発生しています。何か案が? –

0

問題は同じですが、DEPLOYMENT POSTPROCESSINGNOを編集しても機能しません。

私はちょうど私の目標でBuild Phasesタブに行き、そしてCopy Bundle Resourcesに私がFoundation.frameworkを除去し、私はLink Binary With LibrariesFoundation.frameworkを追加し、それは私の作品!

あなたの問題を解決することを願っています!

0

私の場合は、ターゲットは、細かい設定を構築し、仕事を始めた私のライブラリに以下を追加しました:

  • デッドコードストリップを:NO

  • コピー中に
  • ストリップデバッグシンボル:NOすべての構成

    について
  • ストリップスタイル:非グローバルシンボル

-1

ターゲット設定(エラーが発生しているビルド)ビルド設定で STRIP_INSTALLED_PRODUCTをNoに設定してみてください。
これは

  • 上記のオプションと一緒に下記試行しデッドコードストリップに動作しない場合:コピー中にNO
  • ストリップデバッグシンボル:NOすべての構成について
  • ストリップスタイル:非グローバルシンボル

これがあなたの問題を解決することを願っています。

関連する問題