프레임 워크가 정적 라이브러리에 비해 가장 큰 장점은 컴파일 된 라이브러리 바이너리 및 관련 헤더를 패키징하는 깔끔한 방법으로 작동한다는 것입니다. Foundation 및 UIKit과 같은 SDK의 내장 프레임 워크와 같이 프로젝트에 드롭 할 수 있으며 대부분의 경우 작동해야합니다.
대부분의 프레임 워크에는 동적 라이브러리가 포함되어 있습니다. Mac Framework 템플릿을 사용하여 Xcode에서 생성 된 프레임 워크는 동적 라이브러리를 생성합니다. iPhone은 동적 프레임 워크를 지원하지 않기 때문에 재사용 가능한 iOS 코드 라이브러리가 정적 라이브러리로 배포되는 것이 일반적이되었습니다.
정적 라이브러리는 괜찮지 만 사용자 측에서 약간의 추가 작업이 필요합니다. 프로젝트를 라이브러리에 연결하고 헤더 파일을 프로젝트에 복사해야합니다. 또는 빌드 설정에서 적절한 헤더 검색 경로를 설정하여 어딘가에 참조해야합니다.
요약하자면, 제 의견은 라이브러리를 배포하는 가장 좋은 방법은 프레임 워크라는 것입니다. iOS 용 "정적"프레임 워크를 만들려면 기본적으로 일반 프레임 워크를 사용하고 바이너리를 컴파일 된 정적 라이브러리로 바꿀 수 있습니다. 이것이 내 라이브러리 중 하나를 배포하는 방법입니다. Resty 를 배포하는 방법이며 앞으로 라이브러리를 배포 할 방법입니다.
해당 프로젝트에서 제공된 Rakefile을보고 싶을 수도 있습니다 (알지 못하는 경우 Rake는 Ruby의 Make와 동일합니다). 프로젝트를 컴파일하는 데 필요한 몇 가지 작업이 있습니다.xcodebuild
) iOS의 정적 프레임 워크로 패키징 있습니다. 이것이 유용하다는 것을 알게 될 것입니다.
또는 이러한 Xcode 4 템플릿 을 사용하여 iOS 프레임 워크를 만들 수도 있습니다 .
2013 년 12 월 9 일 업데이트 : 이것은 대중적인 답변이므로 라이브러리 배포에 대한 첫 번째 선택이 변경되었다고 편집하려고 생각했습니다. 소비자 또는 생산자로서 타사 라이브러리에 대한 첫 번째 선택은 CocoaPods입니다. CocoaPods를 사용하여 라이브러리를 배포하고 대체 옵션으로 헤더가있는 미리 컴파일 된 정적 라이브러리를 제공합니다.