2011-03-03 4 views
3

XCODE 프로젝트 용 라이브러리를 어떻게 릴리스 할 수 있습니까? 나는 다른 사람들에게 도서관으로 드러내고 싶은 프로젝트를 가지고있다.XCODE 프로젝트를 라이브러리로 노출

+0

[Xcode에서 재사용 가능한 코드 번들을 만드는 방법은 무엇입니까?] (http://stackoverflow.com/questions/159221/how-do-i-create-a-bundle-of-reusable-code -in-xcode) –

답변

5

당신은 당신이 제공 할 헤더 및 구현 파일을 모두 포함하는 코코아 터치 정적 라이브러리을하고, 다음과 같은 스크립트를 사용해야합니다 : A의

#!/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] 

이를, nutshell은 대상 프로젝트에 추가해야하는 라이브러리 (libmyLib.a)와 헤더 (usr)가 포함 된 폴더를 만들고 헤더는 Add-> Existing Files 및 Add-> Existing Framework-> 기타 추가.

라이브러리의 헤더 역할은 공개이거나 복사하지 않으며 libmyLib.a의 인스턴스를 라이브러리 이름으로 바꿔야합니다.

나는이 프로세스를 여러 번 사용했으며, 현재 슬프게도 iOS 용 프레임 워크를 만들 수있는 최선의 방법입니다.

+0

이 스크립트를 어디서 실행해야합니까? 이 파일은 프로젝트 파일을 어떻게 복사합니까? 나는 정적 라이브러리를 생성하고 모든 헤더, 클래스 및 라이브러리를 적절한 폴더에 넣습니다. – Abhinav

+0

'.xcodeproj'와 같은 폴더에서 실행합니다. E.G. 프로젝트가'~/Documents/MyStaticLibrary/MyStaticLibrary.xcodeproj'에 저장되어 있다면,'~/Documents/MyStaticLibrary /' –

관련 문제