안녕하세요 🐾 커스텀 프레임워크 구현 중 기능의 로직과 관련된 코드를 숨겨야 하는 요구가 있었습니다. 처음엔 접근제어자 자알 써서 캡슐화하면 보이지 않을거라 생각했지만, CocoaPod으로 배포 후 테스트 프로젝트에서 Pods 폴더에서 커스텀 프레임워크를 살펴보니 소스코드들이 적나라하게 보였습니다. 🤣 소스코드를 숨기기 위해서는 숨기고 싶은 소스 코드들을 바이너리 프레임워크 형태로 제공해야 합니다. 즉, 아래와 같은 순서로 진행됩니다. 주요 로직에 해당되는 코드(숨기고 싶은 코드) 바이너리 프레임워크로 만든다. 커스텀 프레임워크에서 바이너리 프레임워크를 Embed한 후, 바이너리 프레임워크를 호출하여 필요한 부분을 구현한다. podspec에 verndored_frameworks를 명시한 후 커스텀 프레임..
안녕하세요🐾 프레임워크란 무엇일까요? (급전개) iOS에서 가장 대표적인 프레임워크는 UIKit입니다. 개발자들은 UIKit을 통해 코드를 덜 작성하면서 원하는 기능을 개발을 할 수 있어 생산성을 높일 수 있습니다. 커스텀 프레임워크를 개발하는 목적도 다르지 않습니다. 프로젝트의 주요 요구 기능을 모듈로 나누어 프레임워크화 했다면, 이를 이용하는 개발자는 원시 코드에 대한 이해 과정 없이 프레임워크에 대한 API만 숙지하면 원하는 기능을 빠르고 편리하게 구현할 수 있습니다. 저 역시 위와 같은 이유로 프로젝트 진행 중 커스텀 프레임워크에 대한 필요성을 느끼고 무지한 배경지식을 채우고자 스터디 하게되었습니다. 만약 틀린 부분이 있다면 알려주세요! 1. 프레임워크(Framework) 생성 Xcode - Ne..
1. CPU Architecture iOS에서는 arm 계열의 CPU 아키텍처를 사용하며 아래와 같습니다. iOS CPU Architecture 모델 arm7 iPhone 4S 이전 기종 armv7s 아이폰5, 5C arm64 아이폰 5S 이후 기종 Xcode의 시뮬레이터는 위의 CPU 아키텍처를 따라가지 않고, 실행한 Mac의 CPU 아키텍처에 종속되며 아래와 같이 두 종류의 아키텍처가 존재합니다. Mac CPU Architecture 모델 x86_64(x64) 2005년부터 2021년 사이에 출하된 Intel 기반의 Mac arm64 2020년 말 이후에 출하된 Apple Silicon 기반의 Mac Apple Silicon이 나오기 전까지는 Mac에서 시뮬레이터 빌드를 할때 x86_64 아키텍처 만..
안녕하세요🐾 iOS 내부 테스트 앱 배포를 위한 방식으로는 테스트 플라이트, 애드혹, 엔터프라이즈 등이 있습니다. 내부 테스트 앱 배포 방식에 대한 경험을 돌이켜보면 각 방식에 대한 차이점은 아래와 같았습니다. 테스트 플라이트(TestFlight) : UUID 수집 과정 없이 apple id(이메일)로 테스터를 초대하는 내부배포, 설치 링크를 전달하는 외부 배포 배포 방식이 있다. 테스터 관리적인 측면에서는 간편했으나 앱 배포시 간소화 된 앱 심사를 거쳐야 하는 번거로움이 있다. 애드혹(Ad-hoc) : 애드혹 아카이브로 만들어진 .ipa 파일과, .plist 파일을 인증된 웹 도메인(SSL)을 지원하는 드랍박스와 같은 곳에 업로드, .plist 파일 내 ipa의 url을 수정한다. 이후 웹 페이지에서 ..
안녕하세요 🐾 Firebase Distribution을 통해 앱을 배포할 때 테스터의 UDID를 등록해주었음에도 테스터가 앱 설치를 할 수 없는 상황이 발생되곤 하는데요. 이는 프로비저닝 프로파일이 제대로 업데이트 되지 않아 생기는 오류입니다. 고쳐봅시다! 1. 원인 프로젝트 설정 TARGETS - Signing & Capabilities 탭으로 이동하면 아래와 같은 화면을 볼 수 있습니다. 하단의 느낌표 버튼을 누르면 프로비저닝 프로파일에 대한 대략적인 정보가 나옵니다. 저의 경우 현재 101개의 디바이스가 추가되어 있는 상황이네요. 이때 개발자 페이지로 가 UDID를 하나 더 등록한 다음 Xcode로 돌아와 다시 빌드를 하면, 현재 Automatically manage signing에 체크되어 있는 ..
안녕하세요🐾 커스텀 라이브러리 배포 작업 진행 중 깃허브 라이브러리 페이지처럼 HTML 내에 README.md 파일을 표시 해야할 일이 생겼습니다. CDN을 이용해 HTML 파일 내에서 마크다운 파일을 렌더링하는 방식으로 문제를 해결하게 되었고 그 과정을 공유하려 합니다. 알아볼까요? 😎 1. HTML 설정 저는 Visual Studio Code를 이용하였습니다. 마크다운 뷰어의 기능도 제공하고 제한적이지만 웹 환경에서의 테스트도 병행 할 수 있어 추천합니다. 비주얼스튜디오코드에서 html 파일을 만들고 html:5 를 입력하면, HTML의 기본 구조를 만들어 줍니다. 2. CDN 및 태그 설정 md-block을 이용하여 CDN을 설정하였습니다. md-block은 마크다운을 HTML로 랜더링하는 컴포넌..
- Total
- Today
- Yesterday
- swift reactorkit
- ios google signin
- ios reactorkit
- XCFramework
- swift nimble
- iOS Quick
- XCTest
- swift framework
- Quick
- Framework
- ios 구글 로그인 sdk
- iOS Nimble
- iOS 테스트 코드
- swift google sdk
- ios mvvm
- ios google
- swift xctest
- nimble
- swift google login sdk
- iOS 유닛테스트
- swift google signin
- iOS Framework
- swift quick
- iOS 단위테스트
- swift 구글 로그인
- iOS Unit Tes
- swift 구글 sdk
- Firebase Distribution
- swift google login
- ios xcframework
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |