Xcode 4에서 iOS 프로젝트에 정적 라이브러리 연결
프로젝트가 있습니다.AQGridView
정적 라이브러리에 컴파일되지만 프로젝트에 추가할 수 없습니다.
프로젝트를 내 프로젝트로 끌면 작업 공간이 생성되고 연결을 시도하는 경우libAQGridView.a
에서 철하다.DerivedData
라이브러리로 인식되지 않는 디렉터리입니다.제가 뭘 잘못하고 있는지 잘 모르겠어요.
여기가 바로AQGridView
프로젝트.Xcode 4 프로젝트에서 그것을 어떻게 사용하는지 특별히 아는 사람이 있습니까?
이 작업은 다음과 같이 수행합니다.
- 정적 라이브러리 프로젝트를 끕니다.정적 라이브러리 프로젝트가 Xcode로 열려 있으면 지금 닫으십시오.
- 프로젝트 탐색기(고정 라이브러리를 추가할 프로젝트)에서 기본 프로젝트를 선택하고 편집기의 왼쪽 열의 대상 헤더 아래에서 내 기본 프로젝트의 대상을 선택하고 빌드 단계 탭으로 이동합니다.
- 대상 종속성에 대해 "+"를 클릭하고 추가된 정적 라이브러리 프로젝트에서 라이브러리 아이콘 대상 종속성을 추가합니다.
- 라이브러리가 있는 이진 연결에 대한 "+"를 누르고 "작업영역" 폴더 아래에 있는 라이브러리 아이콘을 추가합니다.
- 정적 라이브러리 프로젝트 자체에서 헤더가 연결된 경우 정적 라이브러리 프로젝트의 헤더 검색 경로를 입력해야 할 수도 있습니다.
기본 프로젝트의 프로젝트 탐색기에서 정적 라이브러리 프로젝트가 기본 프로젝트 아래에 중첩된 것으로 표시되지 않으면 가장 가능성이 높은 이유는 정적 라이브러리의 자체 Xcode 프로젝트가 아직 열려 있기 때문입니다.Xcode를 종료하고 원래 정적 라이브러리 프로젝트 자체를 열지 않고 중첩된 정적 라이브러리 프로젝트가 있는 주 프로젝트를 엽니다. 그러면 이 프로젝트가 주 프로젝트에 중첩된 프로젝트로 표시됩니다.
Xcode 메뉴 > 보기 > 유틸리티 > 파일 인스펙터
정적 라이브러리 파일을 선택한 다음 'Identity and Type'에서 'File Type'을 'Mach-O 객체 코드'로 설정합니다.
작업 공간은 이것을 더 쉽게 만들 수 있어야 하지만, 저는 그것들이 그렇게 하는지 모릅니다.제가 하는 방법은 작업 공간을 만들고, 주 프로젝트를 추가하고, 라이브러리 프로젝트를 추가하는 것입니다.그런 다음 기본 프로젝트의 빌드 단계로 이동하여 "라이브러리와 바이너리 연결" 섹션에서 라이브러리를 추가하고 라이브러리를 추가합니다.그것이 필요한 전부여야 합니다, 적어도 그것은 제가 읽은 것입니다, 하지만 그렇지 않습니다.Xcode 기본 설정으로 이동한 다음 소스 트리 창으로 이동합니다.정적 라이브러리의 헤더를 가리키는 소스 트리를 추가한 다음 프로젝트의 빌드 설정으로 돌아가서 헤더 검색 경로 키를 누른 다음 ${foo}를 입력합니다. 여기서 "foo"는 소스 트리라고 불렀던 것입니다.
그것이 저에게 효과가 있습니다. 하지만 그것이 가장 좋은 방법인지 가장 쉬운 방법인지는 모르겠습니다.
파인더에서 .a 파일을 찾아 프로젝트로 끌어다 놓습니다.
'항목을 대상 그룹의 폴더에 복사(필요한 경우)'를 선택하고 머리글을 프로젝트에 추가합니다.
이제 Xcode 4는 자동으로 해당 프레임워크에 연결되어야 합니다.
다음은 프로젝트에서 라이브러리의 모양입니다.
Apple의 설명서를 따릅니다.
간단히 말하면:
- 대상을 라이브러리에 연결합니다.
- 더하다
-ObjC
링커기타 링커 플래그')로 이동합니다.OTHER_LDFLAGS
설정 에 있습니다. 대상의 빌드 설정 아래에 있습니다.
또한 대상의 종속성에서 라이브러리가 보이지 않기 때문에 메인 프로젝트의 스키마에 라이브러리를 추가해야 했습니다.
할레의 대답은 다음과 같습니다.
- 정적 라이브러리 프로젝트의 빌드 설정에서 개인(또는 공용) 헤더 폴더 경로 값을 확인하고 복사합니다.
- 사용 중인 포함 디렉티브에 따라 클라이언트 프로젝트 빌드 설정 헤더 검색 경로 또는 사용자 헤더 검색 경로에 복사된 값을 추가
언급URL : https://stackoverflow.com/questions/6124523/linking-a-static-library-to-an-ios-project-in-xcode-4
'programing' 카테고리의 다른 글
빠른 클릭 시 Chrome에서 요소가 파란색으로 강조되는 것을 방지하기 위한 방법은 무엇입니까? (0) | 2023.08.18 |
---|---|
spring @AutoWired Map을 사용할 수 있습니까? (0) | 2023.08.18 |
Docker 및 MariaDB/MySQL - 원격 액세스를 사용하도록 my.cnf를 영구적으로 편집 (0) | 2023.08.13 |
Mocking boto3 S3 클라이언트 메소드 Python (0) | 2023.08.13 |
문자열을 줄로 분할하는 가장 좋은 방법 (0) | 2023.08.13 |