5

我已经搜索了很多问题,但没有与我相同的问题。Xcode 4.3.2(4.3.1)</p>

我在一个新的 cocoa touch 静态库项目中添加了几个文件并使用iPhone Simulator构建它,然后收到build success,但产品组中没有 .a 文件(文件列表中的 .a 文件为红色,Xcode 左侧)

当我将“iPhone Simulator”更改为IOS 设备时,也收到构建成功,但现在我可以看到 .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 回答