2012-12-10 3 views
1

매우 큰 iOS 프로젝트에서 작업 중이며 너무 많은 클래스와 리소스가있어 색인을 생성하고 컴파일하는 데 오랜 시간이 걸립니다. IDE가 나에게 일하기를 기다리는데 너무 많은 시간을 보내고 있기 때문에 점점 더 커짐에 따라 뭔가를해야합니다.공용 라이브러리가 필요한 라이브러리 만들기

내 첫 번째 아이디어는 사용자 정의 번들에 모든 이미지를 압축하여 IDE에서이 이미지를 단일 파일로보고 색인을 생성하고 복사하는 것이 더 빠를 것이지만 번들은 단순한 것 이상은 아닙니다. 폴더를 확장, 그래서 성능이 여전히 느려질 것 같아요. 그런 다음 이미지에 "노란색 그룹"대신 "파란색 폴더"를 사용하면 Xcode에서 색인을 생성하지 않습니다. 그러나이 방법은 지금 당장 쉽지 않습니다. 폴더에서 이미지를 찾는 기능을 대체해야하므로 (절대 경로?)

마지막으로 접근하면 컴파일 타임과 인덱싱 모두에서 시간을 절약 할 수 있습니다. 여러 라이브러리에서 코드를 모듈화하여 "항상"컴파일 할 필요가 없기 때문에 Xcode는 소스 파일을 인덱싱 할 필요가 없습니다.

저는 튜토리얼을 따라 왔고 이제는 정적 라이브러리를 만들고 다른 프로젝트에 헤더 파일을 포함시키는 방법을 알고 있습니다. 하지만 현재의 문제점은 다음과 같습니다.

내 응용 프로그램에는 여러 개의 "독립"모듈이 있으므로 각 모듈마다 정적 라이브러리를 만들고 싶습니다. 그리고 각 모듈마다 이미지 묶음도 생성합니다. 그러나 모든 모듈은 일반적인 코어를 사용합니다. 정적 인 라이브러리에서도 유지하고 싶습니다. 그래서 이렇게하면 모든 모듈 라이브러리에 메인 코어 라이브러리를 포함시켜야합니다. 코어의 바이너리 코드가 여러 번있을 것이므로 이것이 최적의 방법이 아닐까 걱정됩니다. 권리?

올바른 해결책은 모듈에 대한 핵심 및 정적 코드 용 동적 라이브러리를 생성하는 것이지만 동적 인 코드를 생성하는 방법을 찾을 수는 없다는 것입니다. 해결책이되어야한다.

그래서 물어보십시오 : 어떤 옵션이 있습니까? 내가 가지고있는 최선의 접근 방식을 핵심으로 여러 번 컴파일하고 있는가? 도움을 주셔서 대단히 감사합니다!

답변

1

동적 연결은 IOS에서 지원되지 않으므로이 옵션이 아닙니다. 정적 라이브러리는 다른 라이브러리에 추가되지만 다른 정적 라이브러리 내부에는 포함되어 있지 않습니다. 빌드 할 때이 라이브러리를 볼 수 있습니다. 다른 라이브러리는 프로젝트 폴더 내에 별도의 라이브러리로 표시되어야합니다. 따라서 각 정적 라이브러리/프로젝트는 앱 빌드에 한 번만 포함됩니다.

결국 ... 동일한 작업 공간에서 정적 라이브러리를 사용하는 경우 기대할 수있는 많은 시간을 절약 할 수 있을지 확신하지 못합니다. 일부 프로젝트에서는 정적 라이브러리를 사용하고, 응용 프로그램에서 정리를 수행하면 빌드가 수행되고 정적 라이브러리도 다시 빌드됩니다.

+0

좋아, 내가 올바르게 표현하지 않은 것 같아. 제가 말한 것은 라이브러리 libA를 만드는 것입니다. 그런 다음 libA를 내부적으로 사용하는 라이브러리 libB를 만듭니다. libB를 컴파일 할 때 libA가 포함됩니다. 그럼 libA를 사용하는 libC를 만듭니다. 그리고 libD, libF, ... 내 프로젝트는 libB, libC, libD, ...를 사용하지만 libA는 직접 사용하지 않습니다. 내 문제는 libA가 엄청나게 (10MB), 그래서 다른 모든 것들도 (사실, 소스가 거의 없을 때)있을 것입니다. –

관련 문제