2 개의 아키텍처 슬라이스 (armv7, arm64)가있는 고정 정적 라이브러리가 있습니다. 나는 그것을 신속하게 작동시키고 코코아 터치 프레임 워크로 포장하려고 노력 중이다.코코아 터치 프레임 워크에서 정적 라이브러리 래핑
내가 무엇을 :
- 코코아 터치 프레임 워크 프로젝트를 헤더 정적 라이브러리로 .a
- 드래그 만들기
- 설정
OTHER_LDFLAGS
- 설정
ONLY_ACTIVE_ARCH
NO
에VALID_ARCHS
및ARCHS
을 설정-all_load
에armv7
및arm64
- 릴리스 빌드 구성 DerivedData /../../ 제품에서
- 잡아 .framework 파일/내 신속한 프로젝트에이 .framework를 넣어
에 포함 된 바이너리 섹션에 추가 빌드 내 일반 설정을 대상으로하고 프레임 워크를 가져 와서 클래스 중 하나를 사용하면 undefined symbols for architecture arm64
또는 undefined symbols for architecture armv7
이 표시됩니다.
편집 :
정적 라이브러리의 크기는 약 34MB이지만 생성 된 .framework의 크기는 약 12MB입니다.
편집 2 :
정적 라이브러리와 생성 된 동적 라이브러리 모두에서 nm -arch arm64 -g myLibraryName
을 실행했습니다. 동적 라이브러리에는 정적 라이브러리에있는 모든 기호가 들어 있지 않습니다. XCode 빌드 프로세스가 많은 것을 제거하는 것처럼 보입니다. (libz.dylib
또는 libz.tbd
: 추가 +를 :>링크 바이너리와 라이브러리 - ->대상 ->빌드 페이즈
프로젝트을 :
프레임 워크에 라이브러리를 배포 하시겠습니까? 프레임 워크에서 라이브러리를 사용하고 싶습니까? 아니면 프레임 워크를 포함하는 응용 프로그램에 라이브러리를 표시하려고합니까? 마지막으로 정적 라이브러리에'.dylib '버전이 있습니까? – tdbit
@tdbit 신속하게 사용할 수 있기 때문에 Cocoa Touch Framework에 정적 라이브러리를 래핑하려고합니다. 아시다시피, swift는 정적 라이브러리를 지원하지 않습니다. 아니요, .dylib는 사용할 수 없습니다. – tailec
라이브러리를 올바르게 작성하고 있는지 확인하십시오. 동적 프레임 워크를 만드는 적절한 방법에 대한 링크를 확인하십시오. > https://www.insert.io/frameworkios8xcode6/ > https : // possiblemobile.co.kr/2016/08/ios-frameworks-part-2-build-and-ship/ – pdubal