5

私は非常に多くの問題を検索しましたが、私と同じものはありません。Xcode 4.3.2(4.3.1)で</p>

新しい cocoa touch 静的ライブラリ プロジェクトにいくつかのファイルを追加し、iPhone シミュレーターを使用してそれをビルドし、ビルド成功を受け取りましたが、製品グループに .a ファイルがありません (.a ファイルは Xcode の左側のファイル リストで赤くなっています)。

「iPhone シミュレーター」をIOS Deviceに変更すると、ビルド成功も受け取りますが、.a ファイルが赤ではなく、製品フォルダーにあることがわかります^

lipo -infoを使用して .a ファイルを確認すると、arm7 アーキテクチャのみがサポートされていることが示されるため、最初のアクション (シミュレーターでビルドされた製品ではない) が確認されたため、.a ファイルを別のプロジェクトで使用することはできません ( i386 アーキテクチャをサポートすることにより、シミュレータでのみ使用できることを知っています)

4

1 に答える 1

0

コマンドラインを使用します。これは、私がしばらく前に作成した簡単なスクリプトです。バイナリを一緒にリポすることさえできます!

#!/bin/bash
#build the device
echo building for ARM architecture
xcodebuild -sdk iphoneos4.3 "ARCHS=armv6 armv7" build > /dev/null
#build the simulator
echo building for the i386 architecture
xcodebuild -sdk iphonesimulator4.3 "ARCHS=i386 x86_64" "VALID_ARCHS=i386 x86_64" build > /dev/null
#make the folder
mkdir "Fat Binary"
#lipo suck it together
echo lipo binaries together
lipo -output Fat\ Binary/libMyLib.a  -create build/Release-iphoneos/liblibMyLib.a build/Release-iphonesimulator/libMyLib.a
echo lipo binary saved at $./Fat Binary/libMyLib.a
echo coping headers
cp -R build/Release-iphoneos/usr "Fat Binary"
echo [COMPLETE]

libMyLib.aの出現をライブラリの名前に置き換えるだけです。

于 2012-05-29T14:06:49.237 に答える