2012-03-27 8 views
6

私はライブラリを作成していますが、すべてのコードをパッケージ化してすべてのヘッダーファイルをフォルダに入れてから、フォルダと静的ライブラリを圧縮しても問題なく動作していますが、 「ビルド段階」の下の「ヘッダーのコピー」を参照してください。私はこのすべてのリンクを読んだことがあるiPhone - 静的ライブラリ、 "ヘッダをコピーする"の目的は?

Using open source static libraries

Creating static libraries for iOS

How to create universal static libraries

Stackoverflow: copy headers: public vs private vs project

しかし、私はまだコピーヘッダを設定するポイントが表示されない、Iビルド時にプライベートとパブリックのパスを設定できることを認識しているヘッダファイルがビルド後にそのフォルダに移動することを確認します。しかし、これのポイントは何ですか?これは、1つのコピーヘッダーファイルを設定せず、単に.aファイルをつかんで、すべてのヘッダーファイルを取得して、フォルダに入れるのとは異なりますか?また、ターゲットプロジェクトには含まれていないので、コピープロジェクトヘッダを設定する目的は何ですか?

答えて

1

私の知る限り、「ヘッダーのコピー」フェーズの「公開」セクションにヘッダーを追加することは、リリースフォルダーにコピーすることとまったく同じです。

実行スクリプトを使用してライブラリのパッケージ化プロセスを自動化するので便利です(ユニバーサルライブラリを提供する場合は、this StackOverflow questionをお読みください)。

######### 
# 
# Added: StackOverflow suggestion to also copy "include" files 
# (untested, but should work OK) 
# 
if [ -d "${CURRENTCONFIG_DEVICE_DIR}/usr/local/include" ] 
then 
mkdir -p "${CREATING_UNIVERSAL_DIR}/headers" 
# * needs to be outside the double quotes? 
cp "${CURRENTCONFIG_DEVICE_DIR}/usr/local/include/"* "${CREATING_UNIVERSAL_DIR}/headers" 
fi 

は、こうすることによって、私はそれらを自動的にスクリプトのこの部分で私のリリースのフォルダに展開しているために「コピーヘッダー」相の「公共」のセクションに私の新しい公共のヘッダを追加する必要があります

アーカイブ時に(製品 - >アーカイブ)、これらのヘッダーがパッケージにコピーされていることに気付きました。おそらく、アップルから静的ライブラリを構築するための最初のステップです。

希望これは、アーカイブを作成する際

1

が今コピーヘッダ相作業を行うことができますか? Appleのドキュメントには、機能が動作しないことが示唆されており、コピーファイルのビルドフェーズを代わりに使用することを提案していました。これはXcodeの最近のリリースで修正されましたか? https://developer.apple.com/library/ios/#technotes/iOSStaticLibraries/Articles/creating.html

+0

明らかに問題はXcode 6.2 – duhanebel

関連する問題