CS/iOS, Swift
18
[iOS] Framework, Library RnD
2023.04.07
iOS 프레임워크, 라이브러리 조사한 내용들입니다. 실제 개발 시 엑스코드상에서 설정해줘야 할 부분이 더 있는데 해당 부분은 기계 마냥 계속 오류 하나씩 보면서 끼워맞추는 방식으로 해결했기 때문에 방식 정도만 참고해주세요. 아래 작성된 순서대로 보시는게 더 이해가 잘 되실 것입니다. 저는 iOS 처음하는 입장에서 작성한거라 틀린 내용이 있을 수 있습니다. 각자 빌드 세팅에 맞게 설정해줘야 하는 부분이 많다고 판단해서 오류도 많이 나실겁니다... [iOS] framework 기본 : https://dongdong216.tistory.com/4 [iOS] framework 기본 1. CPU Architecture 아이폰은 기종에 따라 다른 아키텍처의 CPU를 사용함. 빌드를 하면 Execute file이 생..

[iOS] static framework to xcframework, cocoapod 배포
2023.04.07
A. 결론 호스트 앱에서 static, dynamic 관계 없이 사용 가능 호스트 앱에서 이미 a 라이브러리 사용하고 있는데 프레임워크에서도 a 사용해야 되면 충돌 없이 그냥 설치되어 있는 걸로 사용됨. 프레임워크 자체는 xcframework이고 그 내부는 static library임. 프레임워크 내부 소스코드 비공개, 그러나 내 PC에 해당 프레임워크 전체 소스 코드가 있다면 indexing이 되어있음. 만약 제3자가 프레임워크 내부 소스 코드 없이 pod으로 프레임워크만 받는다면 코드가 보이지 않음. 체크해본 결과 가능한 것 종속성 사용 가능 키체인 가능 UIKit 사용해서 vc, view … 등등 사용 가능 Bundle로 나가야 하는 xib, image 파일은 라이브러리로 배포 불가능. 테스트 종속..
[iOS] pod dependency trouble shooting
2023.04.07
A. 지향하는 것 third party lib를 사용하고 있는 framework를 xcframework로 build할 수 있어야 함. cocoapod에 배포할 때 이 xcframework가 의존하고 있는 종속성들을 자동으로 설치할 수 있어야 함. B. 해결방안 2번은 너무 쉬웠음. 배포할 프레임워크의 podspec을 아래와 같이 작성하면 됨. Pod::Spec.new do |s| s.name = "SampleFramework" s.version = "0.1.5" s.summary = "A brief description of XCFrameworkTest project." s.description = 'Copyright', :text => "깃 주소", :tag => s.version.to_s } s.ve..

[iOS] 1st party framework에서 3rd party framework 사용
2023.04.07
A. Umbrella Framework 불가능 Technical Note TN2435: Embedding Frameworks In An App Umbrella framework : 프레임워크가 다른 프레임워크를 포함하는 형태. macOS에서는 가능하지만 지양되는 구조. iOS, watchOS, tvOS에서는 불가능함. 따라서 프레임워크 안에 다른 프레임워크를 넣지 말고 Embedding a framework 방식을 사용해야 함. B. 일반 3rd party framework 포함하는 방법 전체 과정 아래 단계는 framework project, test project, 개발 workspace(framework project, test project가 들어있는 개발환경)가 모두 세팅되어 있다는 가정 하에 ..

[iOS] Framework에 종속성 추가 시 작업환경 세팅
2023.04.06
A. Framework 개발할 때 Framework 프로젝트 디렉토리에서 cmd open → pod init 추가하고자 하는 라이브러리 .podfile에 넣어준 후 pod install 테스트 프로젝트, 프레임워크 프로젝트 같이 넣어 둔 워크스페이스 open workspace의 project navigator 우클릭 후 add new files to “…workspace” 선택 프레임워크 프로젝트 내부에 2번으로 생성된 Pods > Pods.xcodeproj 선택 추가한 라이브러리 사용해서 프레임워크 개발하면 됨.

[iOS] framework 작업환경 만들기
2023.04.06
A. 전체 과정 SDK Framework Project, Test App Project 둘 다 존재한다는 전제 하에 작성하였습니다. Workspace 생성 만든 워크스페이스 열고 Project Navigator 우클릭 > Add File to “workspace 이름” > 프레임워크, 프레임워크를 테스트할 프로젝트의 .xcodeproj 파일 추가 Project Navigator에서 프레임워크를 테스트할 프로젝트 누르고 Targets > General > Frameworks, Libraries, and Embeded Content에서 프레임워크 추가 후 Do not Embed로 속성 설정 test 시작 B. 각 과정 상세 - 1 Workspace 생성 File > New > Workspace 선택 이름은 ..