일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 트레일링 클로저
- Persistent store Coordinator
- Swift 고차함수
- Associated Value
- Raw value and Associated value
- Java
- NSSortDescriptor
- Swift closure
- CoreData
- 다익스트라 이해
- expensive operation
- NSManagedObject SubClass
- 1009번
- NSPredicates
- Swift LinkedList
- LightWeight Migration
- iOS Static Library
- CoreData Filter
- persistentStoreCoordinator
- 일급 객체
- CoreData Stack
- dateFormatter
- Swift
- Clean swift
- 2022 부스트캠프
- CoreData Concurrency
- 스위프트 클로저
- leetcode #01
- iOS Static Library 사용하는방법
- codability
- Today
- Total
하루를살자
[iOS] Static Library 사용하는방법 본문
목적: 저번글에서 어떻게 Static Library를 만드는지 알아보았는데, 오늘은 어떻게 생성된 바이너리 파일 (. a 확장자 파일)을 프로젝트에 사용할 수 있는지 알아보도록 하겠습니다.
- 1.0 만들어진 라이브러리를 사용할 프로젝트를 하나 생성해줍니다. (저는 이전에 만든 라이브러리가 iOS 용이라서 iOS 프로젝트를 만들었습니다).
- 2.0 Target -> Build Phases -> Link Binary With Libraries에 생성된. a 파일을 선택해줍니다. 이때 iphoneos, simulator 버전의. a 파일이 있으시겠지만, 일단 simulator 버전의 바이너리 파일을 링크해 줍시다. 아래와 같이 된다면 성공적으로 된 것!

- 3.0 Target -> Build Settings -> Search Path -> Library Search Path 에 바이너리 파일의 위치를 기입해 줍니다.

- 4.0 실행할 Simulator 를 선택한 뒤 빌드를 하면 성공적으로 빌드가 되는 것을 볼 수 있으실 겁니다. 하지만 실제 기기를 연결해서 빌드를 하면 아래와 같은 에러가 발생하는 것을 볼 수 있습니다.

- 이 에러는 사용한 Library 가 iOS Simulator 용 이였기 때문인데요, iPhone, Simulator 용의 바이너리 파일이 호환하는 아키텍처가 다르기 때문에 simulator 용 바이너리 파일을 link 하면, 실제 기기에서 빌드를 못하고, 반대로 iphone 용 바이너리파일을 link 할시 실제 기기를 연결했을 때 link 과정에서 아키텍처 관련 빌드 에러가 발생하게 되는 것입니다.
당연히 이런문제를 해결할 방법은 있습니다. 바이너리 파일을 합쳐 여러 아키텍처가 포함된 Fat file 을 생성하거나, Apple에서 지원하는 XCFrameWork를 만들어서 링크를 해주면 됩니다. 이 해결방법들은 다음 포스트에서 계속하도록 하겠습니다.
'iOS' 카테고리의 다른 글
[iOS] Static Library 만들기 (using Objective-C) (1) | 2022.12.22 |
---|---|
[iOS] CoreData 를 배워보자 - 5 [CoreData Concurrency] (0) | 2022.10.28 |
[iOS] CoreData 를 배워보자 - 4 [LightWeight Migration] (0) | 2022.10.18 |
[iOS] CoreData 를 배워보자 - 3 [NSFetchRequest, Relationship] (0) | 2022.10.18 |
[iOS] CoreData 를 배워보자 - 2 (0) | 2022.10.14 |