2012-02-19 2 views
3

오픈 소스 SBJson 클래스를 사용해야하는 정적 라이브러리를 개발 중입니다.iOS 용 SBJson이 포함 된 정적 라이브러리

내 정적 라이브러리를 배포 할 때 모든 헤더 파일 (.h)을 포함 할 필요없이 내 라이브러리에 SBJson 클래스를 포함시키는 가장 좋은 방법은 무엇입니까 ??

+0

라이브러리 클라이언트에 SBJSON 기능이 직접 필요합니까? 그렇다면 헤더를 제공해야합니다. 그렇지 않다면, 그렇게해서는 안됩니다. –

답변

1

가장 좋은 방법은 종속성을 숨기지 않고 SBJson 라이브러리에 빌드하고 링크해야한다고 클라이언트에게 알리는 것입니다.

안전한 대안은 모든 기호가 다른 이름 (예 : 고유 한 접두어)으로 다시 선언 된 SBJson의 포크입니다. 이렇게하면 클라이언트가 라이브러리를 종속성과 연결하는 번거 로움을 없앨 수 있습니다.

+0

이것은 내가 생각한 것입니다. 이것은 또한 동일한 라이브러리를 사용할 수있는 또 다른 정적 라이브러리와의 충돌을 막을 것입니다. –

+0

직접 접두어를 붙이는 대신 모든 접두어를 추가하지 않고 프로그래밍 방식으로 접두사를 붙이는 방법이 있습니까? –

+0

@LiyanChang은 안전하지 않습니다 (클라이언트가 라이브러리를 사용하는 경우 링크 및/또는 런타임 충돌을 고려하십시오). Xcode에서 리팩터링 도구를 사용하면 매우 빠르게 진행됩니다. – justin

1

정적 라이브러리를 만드는 경우 해당 정적 라이브러리를 사용하는 모든 응용 프로그램은 해당 라이브러리에 사용 가능한 모든 공용 메서드를 알아야합니다.

SBJson이 라이브러리의 내부 파트 인 경우 응용 프로그램을 배포 할 때 헤더 파일을 포함 할 필요가 없습니다. public facing 메소드의 .h 파일 만 포함하면됩니다.

정적 라이브러리를 컴파일 할 때 파일 복사 단계에서 SBJson의 헤더 파일을 포함하지 마십시오.