2011-03-03 60 views
3

我如何释放一个库我的Xcode项目?我有一个我想要作为图书馆向其他人展示的项目。暴露Xcode项目的库

+0

的可能重复[如何创建在Xcode可重用的代码捆绑?](http://stackoverflow.com/questions/159221/how-do-i-create-a-bundle-of-reusable-code -in-xcode) – 2011-03-03 22:54:59

回答

5

你必须做出可可触摸静态库包含所有你要寄送头和实现文件,然后使用类似下面的脚本:

#!/bin/bash 
#build the device 
echo building for ARM architecture 
xcodebuild -sdk iphoneos4.2 "ARCHS=armv6 armv7" build > /dev/null 
#build the simulator 
echo building for the i386 architecture 
xcodebuild -sdk iphonesimulator4.2 "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/libmyLib.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添加),并且必须加入到目标项目头(USR),头被添加 - >现有文件的文件夹,并通过添加 - 库>文件夹现有框架带>添加其他。

另请注意,库中标题的作用必须是公开的,否则它们将不会复制,并且必须用库的名称替换libmyLib.a的实例。

我已经使用这个过程中的许多倍,这是你可以得到此时正在为iOS的框架最好的,可悲的。

+0

从哪里需要运行此脚本?这将如何复制我的项目文件。我创建了静态库,并把所有的标题,类和库中相应的文件夹里面 – Abhinav 2011-03-28 21:19:39

+0

同一文件夹执行它作为'.xcodeproj'。例如。如果你的项目存储在'〜/ Documents/MyStaticLibrary/MyStaticLibrary.xcodeproj'中,那么你可以从〜/ Documents/MyStaticLibrary / – 2011-03-29 01:18:29