2012-05-29 39 views
4

我已经搜索了这么多问题,但没有像我一样。 上的Xcode 4.3.2(4.3.1)可可触摸静态库项目的“构建成功”后没有产品

我添加几个文件到一个新的可可触摸静态库项目,并使用iPhone模拟器构建它,然后接收构建成功,但在没有某文件产品组(某文件是在文件列表中,留下的Xcode红)

当我更改“iPhone模拟器”来IOS设备,也收到构建成功,但现在我可以看到.A文件不是红色的,我可以在产品文件夹中找到^

当我使用lipo -info检查.a文件时,它显示它仅支持arm7体系结构,因此确认我的第一个动作(没有内置于模拟器的产品)^所以.a文件不能用于我的另一个项目(我知道它只能通过支持i386体系结构在模拟器中使用)

回答

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替换为您的库的名称即可。

+0

它工作得很好吗? –

+0

命令行真的很棒......但只有xcodebuild -sdk iphonesimulator4.3“ARCHS = i386 x86_64”“VALID_ARCHS = i386 x86_64”build>/dev/null才能正常执行。执行后xcodebuild -sdk iphoneos4.3“ARCHS = armv6 armv7”build>/dev/null它告诉我** BUILD FAILED ** 以下内置命令失败: \t检查依赖项,如何解决它? –

相关问题