2012-05-29 38 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檢查依賴項,如何解決它? –

相關問題