320 V1.1およびXcode 4
質問
Xcode 4で320 V1.1を動作させる簡単な方法はありますか?私はステップをたどりました http://three20.info/article/2011-03-03-0-xcode4-support しかし、それはマスターにとってのようです。 ttlauncherを使用しているときにv1.1を使用します。
プロジェクトは通常のビルドで問題なく構築され、iPhoneで完璧に実行されます。しかし、アーカイブ(配布用のIPA用)を作成したい場合は、18のエラーと8つの警告が表示されます。
最初のものは次のとおりです。
../scripts/Protect.command: line 23: cd: /Users/XXX/Library/Developer/Xcode/DerivedData/iDoms-cmyivarwxpbvqdfnyclqdrikrtmw/ArchiveIntermediates/iDoms/BuildProductsPath/Release-iphoneos/../three20/Three20UICommon: No such file or directory
他のほとんどは、例えば「そのようなファイルやディレクトリはありません」です。#import "Three20Core/TTGlobalCoreLocale.h
"
または「宣言されていない(機能の最初の使用)」は、「私が推測するそのようなファイルやディレクトリの問題はありません」から生まれます。
私の「ヘッダー検索パス」で私は持っています:
$(BUILT_PRODUCTS_DIR)/../three20
$(BUILT_PRODUCTS_DIR)/../../three20
../../three20/Build/Products/three20
/usr/include/libxml2
どんな助けもとても感謝しています!
解決
チェックアウトする必要があります このスタックフローの質問.
以下に受け入れられている答えを再現しました。
したがって、Xcode 4で作業する古いXcode 3.2プロジェクトを取得する最も簡単な方法は、次のように見えます。
Xcode 4の設定(CMD+、)に移動します。 [場所]タブを選択します。 「構築」と書かれている場所で、ドロップダウンを選択して、「ターゲットで指定された場所にビルド製品を配置する」を選択します。
他のヒント
Colinの回答に追加するために:Three20 Webサイトでは「公式にサポートされていない」と書かれていても、Xcodeの依存プロジェクト機能を使用してThree20を使用できます。
ワークスペースでは、プロジェクトナビゲーターの空きスペースを右クリックします。 「ワークスペースにファイルを追加」を選択し、320プロジェクトを選択します(
three20/src/Three20/Three20.xcodeproj
)。これは それだけ 追加する必要があるプロジェクト:320のサブプロジェクトを手動で追加する必要はありません。ナビゲーターでプロジェクトを選択し、ビルドフェーズに移動し、「ライブラリとのリンクバイナリ」を開き、左下隅の「+」をクリックして、320ライブラリを追加します。
libThree20.a
,libThree20Core.a
,libThree20Network.a
,libThree20Style.a
,libThree20UI.a
,libThree20UICommon.a
とlibThree20Navigator.a
. 。これにより、プロジェクトを構築するときにXcodeが320を構築します。追加
${BUILD_DIR}/three20
Colinの回答に従ってパスを含める:ビルド設定に移動し、「ヘッダー検索パス」をダブルクリックし、追加する${BUILD_DIR}/three20
(それはasを示しますbuild/three20
ダイアログを閉じるとき)。追加
three20/src/Three20.bundle
あなたのリソースに。また、まだ行っていない場合は、リンカーフラグ-OBJCと-all_loadを追加することも良い考えです(同じダイアログ、「その他のリンカーフラグ」の設定)。
上記の手順は、コードをコンパイルするのに十分です。 「アーカイブ」も機能させるには、次のようにする必要があります。
追加
$(BUILT_PRODUCTS_DIR)/../three20
と$(BUILT_PRODUCTS_DIR)/../../three20
ヘッダー検索パス設定へ。そうでない場合は、320のヘッダーが見つからないコンピレーションエラーが発生します。為に 全て 320のプロジェクト(トップレベルのプロジェクトだけでなく)は、ビルド設定に移動し、「インストールをスキップ」に設定します。そうでない場合、プロジェクトは構築されますが、IPAを作成することはできません。
製品名(ターゲットを選択し、ビルド設定に移動してから「製品名」の設定)にスペースが含まれていないことを確認してください。そうしないと、アーカイブが機能しません。
最後に、次のようなエラーが発生している場合 ld: library not found for -lThree20
また、カスタムビルド構成(Adhocなど)を使用している場合は、320プロジェクトのそれぞれに同じビルド構成を追加してください(リリース構成を複製するだけです)。
これらの2つのパスを、ターゲットのビルド設定のヘッダー検索パスに追加します。
"$(build_dir)/three20" "$(build_dir)/// three20"
最初のエントリは通常のビルドに必要で、2番目のエントリはアーカイブに必要です。
そんなに簡単です。
ちなみに、ターゲットの環境のXcodeの環境変数のすべてのリストを備えたホームディレクトリにファイルを作成するには、コンテンツで次の実行スクリプトビルドフェーズをターゲットに追加します:env>〜/xcode- environment.sh
この場合、プロジェクトがビルドプロセスのコンパイルフェーズを介してそれを作成しておらず、実行スクリプトが後で来る場合、スクリプトは実行されないため、最初に実行します。