3

オープンソースの iPhone アプリを配布しようと考えていますが、ソースの配布についていくつか質問があります。

  1. XCode を使用してソース アーカイブ (またはディスク イメージ) の作成を自動化するにはどうすればよいですか? ソースをアーカイブするビルドターゲットのラインに沿ったものが必要です(必要に応じて最初にターゲットをクリーニングしますが、そうする必要がなければいいでしょう)。また、プログラムが必要とする SQL データベースを構築するために使用される ruby​​ スクリプトを含む外部 netbeans プロジェクトもあります (ただし、必要に応じて別のアーカイブを作成できます)。

  2. 「ソース」を構成するファイルを特定する最善の方法は何ですか? すべてのターゲットを掃除した後に残っているものですか?そのアプローチに関する警告(IDEが作成しているように見えるすべての粗悪品をクリーンアップすることを完全に信頼していません-これには、すべきではないコード署名が含まれる可能性があります)?

4

4 に答える 4

4

ビルドの後処理を行うために、実行スクリプトビルドフェーズを任意のターゲットに追加できます。正しいアプローチは通常、最初にビルド製品ターゲットをビルドし、次に出力でスクリプトを実行する集約ターゲットを作成することです。

すべての「ソース」ファイルを識別するのは困難です。多くの場合、$(SRCROOT)のすべてですが、プロジェクトがルート->(src)(projfiles)の方法でレイアウトされている場合、$(SRCROOT)にはプロジェクトファイルのみが含まれ、ソースは含まれません。少なくとも最上位のプロジェクトレイアウトの知識をスクリプトにエンコードし、変更された場合はそれを維持する必要がある場合があります。

これがデフォルトですが、ソースをアーカイブする場合は、中間体、プロジェクトインデックス、およびその他のエフェメラを取得することが多いため、ビルドフォルダーをプロジェクトフォルダーに配置したくない場合があります。プロジェクトの[情報を見る]インスペクターの[全般]ペインで、[製品と中間体のビルド]ディレクトリをプロジェクトディレクトリ外の一般的な場所に設定します。これにより、ソースをアーカイブする作業が簡素化されます。

また、Xcodeには、スナップショットと呼ばれるアーカイブメカニズムが組み込まれています。自動化するのは簡単ではありませんが、それを使用することをお勧めします。しかし、Snapshotsはすべてのソースについてすべて知っています。

于 2008-12-19T05:47:12.230 に答える
3

SRCROOT環境変数をソースをアーカイブする場所に設定し、プロジェクトディレクトリにcdして、実行します。

xcodebuild installsrc build -configuration <configname> -target <targetname>

「installsrc」ビルドアクションは、プロジェクトソースを${SRCROOT}にコピーします。

于 2009-05-10T03:45:28.033 に答える
0

次のスクリプトを呼び出して、提案されている集計ターゲットを試してください。

#!/bin/bash -x

CD「$BUILT_PRODUCTS_DIR」

APPFILE="$PROJECT_NAME.app"

IPAFILE="$PROJECT_NAME.ipa"

if [ "$BUILD_STYLE" = "配布" ]; それから

rm -f "$APPFILE.zip" && zip -ry "$APPFILE.zip" "$APPFILE" && open .

elif [ "$BUILD_STYLE" = "ベータテスト中" ]; それから

rm -rf "$IPAFILE" iTunesArtwork Payload && \
cp ../../Apple/iTunesArtwork . && \
mkdir Payload && cp -Rp "$APPFILE" Payload && \
zip -r "$IPAFILE" iTunesArtwork Payload && open .

フィ

うーん、これは別の質問に対する答えかもしれませんが...

于 2009-05-09T16:46:39.647 に答える
0

これについてはまだ答えがありませんので、make とコマンド ラインを使用して別の方向からアプローチします。この質問に対する答えを使用します。

コマンド ラインからの Qt Xcode プロジェクトのビルド

...そして、標準の「make」アプローチを使用して、アプリとソース配布アーカイブをビルドします。

于 2008-12-18T18:21:44.673 に答える