
1. 라이브러리 설치 [sudo] gem install jazzy 바로 설치가 안되고 에러가 발생한다. M1 Mac에서 FFI 라이브러리가 호환이 안 되는 문제라는데 아래의 커멘드로 재설치해서 해결했다. sudo gem install ffi -- --enable-libffi-alloc 2. 다시 프로젝트 폴더로 이동 해서 jazzy 실행하면 다시 프로젝트를 빌드할 때 필요한 아규먼트가 없다는 에러가 발생한다. cli 형태로 xcode를 빌드하는 방법과 빌드에 대한 것에 대해 서치 해보고, 커맨드 라인으로 빌드를 해본다. cocoapod을 사용하고 있어서 workspace를 사용하고 이를 빌드 아규먼트로 적용해 주면 되고, scheme도 맞는 형태로 작성한다. 자체 빌드 시에는 iOS Simulator를 ..

- MVVM의 목적 비지니스 로직과 프레젠테이션 로직을 분리 하는 것이다. View 를 수동적으로 만듬으로써 Gui 를 테스트 할 수 있다. View 는 ViewModel 로부터 데이터를 가져오지 않는다. View 는 ViewModel 에서 자기자신을 업데이트 할 책임이 없다 View 는 자신의 state 가 있고 ViewModel 이 이를 컨트롤 한다. - MVVM 패턴 아래와 같은 형태로 종속성을 가진다. 데이터의 흐름은 아래와 같다. - ViewModel UI동작 및 상태를 관리 한다. 사용자 입력을 비지니스 로직과 데이터에 따라 해석 한다. model의 data를 사용자에게 보여줄 준비를 한다. ViewModel 은 UI frameworks 와는 독립적으로 사용한다. - View UI를 렌더링 합..

- Concurreny(동시성)에 대한 이해 싱글코어는 Context Switch를 통해 시분할로 동시성을 확보하고, 멀티코어는 Parallelism이라고 해서 스레드를 생성해서 이 스레드를 다른 코어에서 돌림으로써 동시성을 확보한다. (실제로 코어를 사용하는지는 알 수없다.) GCD는 동시 실행할 코드를 결정하고, 어떠한 형태로 어느 정도의 리소스를 투입할 것인지를 결정한다. 쓰레드의 생성과 관리 등을 GCD가 한다고 보면 된다. ! 개념적으로 시분할이 아니고 동시에 2개의 쓰레드가 아무런 제약 없이 돌 수 있다는 점을 생각해야 한다는 것이다. - Queue의 종류에 대한 이해 두 번째로 생각 해 볼 것은 큐의 종류이다. GCD는 FIFO(선입선출)의 형태로 실행된다. dispatch_queue 함수의..

우선 info.plist에 위치정보 권한을 추가합니다. 사용하는 조건에 따라 몇 가지가 있는데 필요에 따라 맞추어 추가하면 됩니다. 지난번 작성했던 geohash 에 위치정보 가져오는 코드를 작성하여 이어 붙이면 나의 위치는 37.785...,-122.406... 로 나오고 geohash는 9q8yywdq7 로 나옵니다. 내 위치가 어디 인지 찾아보면 나는 샌프란 시스코에 있습니다. 내가 찾은 위도가 맞나 검색 해보니 스텍오버플로우에 simulator는 default 가 san fran 이고 설정에서 변경 가능하다고 하다. 참고 지오헤시 검색을 제공하는 사이트 https://www.movable-type.co.uk/scripts/geohash.html Geohash encoding/decoding Mov..

위치정보를 표시할 때, 보통 위도, 경도를 표시하는데, 이것을 해시해서 일련의 문자열로 바꾼 게 geohash이다. 재밌는 것은 글자 길이가 분해능 (얼마나 자세히 표시하는지)이고, 앞의 해시 글자가 같으면 가까운 위치에 있다는 정보를 표시한다. 아마도 주변에 친구 찾기는 이 geohash를 가지고 있고 친구와 비교하여 앞자리가 얼마나 가까운지 보면 알 수 있을 거 같다. https://github.com/nh7a/Geohash 2022.01.18 - [iOS] - 위치정보를 읽어와서 geohash로 가공 하기(geohash-2) 위치정보를 읽어와서 geohash로 가공 하기(geohash-2) 우선 info.plist에 위치정보 권한을 추가합니다. 사용하는 조건에 따라 몇 가지가 있는데 필요에 따라 맞..

소개 ActiveLabel 은 swift로 작성되어 있고, 해쉬테그, 맨션, url, custom patten 을 터치 했을 때, 펑션을 제공 한다던가 해당 패턴을 어떻게 표현할 지(주로 색) 등의 기능을 제공한다. 설치 Podfile 에 아래와 같이 적고 pod update 하면 된다. pod 'ActiveLabel' 코드 import ActiveLabel 하고 enabledTyepes = [.mention, hashtag,.url] 등 지원하는 타입을 적으면 된다. 예시에는 .email 도 있었는데 제외 된거 같다. 색은 label.hashtagColor = .brown 이런식으로 바꾼다.
ios 프로젝트도 Generate 하게 하는 게 재미있는 오픈 소스인 거 같다. 가장 큰 이득은 프로젝트 파일 conflict 방지 라는데... 가지고 있는 프로젝트에 적용하려면 마이그레이션 과정을 거쳐야 하는데 그거는 doc 페이지를 보면 될 거 같다. 설치 curl -Ls https://install.tuist.io | bash 실행 tuist init --platform ios tuist generate # Generates Xcode project & workspace tuist build # Builds your project 링크 https://github.com/tuist/tuist GitHub - tuist/tuist: 🚀 Create, maintain, and interact with X..
- Total
- Today
- Yesterday
- GCD
- 프로그래머스
- 빌드자동화
- swift
- 코테
- ios
- Moya
- AWS IoT
- async
- ATS failed system trust
- chatgpt 4o
- 같이쓰기
- ChatGPT
- Default Rules
- jenkins
- XCTestExpectation
- xcode whitespace trim option
- IF (KAKAO) DEV 2022
- swiftLint
- AppThinning
- firebase
- MQTT
- geohash
- RxSwift
- bitrise
- 무료는 아니지만
- CI/CD
- GPT4
- Fastlane
- 모듏화
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |