728x90

분류 전체보기 258

[후기] Cerakey I SET-Homing F & J

안녕하세요. 세라키에서 F & J에 돌기를 추가한 키캡을 따로 팔더라구요. 그동안... 돌기에 대한 욕구가 충만했기에... F, J 돌기 만들기회사 팀원분께서 돌기 없는 F, J 키캡에 돌기 이식을 해달라는 요청을 주셨습니다.. 작업해보도록 하죠.. 플라스틱을 조그맣게 잘라서 붙일 겁니다. 집에 굴러다니는 프라모델 런너에서 플라스틱phillip5094.tistory.com 참지 못하고 질러버렸습니다.  배송비 4달러 해서 총 9달러 들었고 배송기간은 19일 정도 걸렸네요. 요렇게 배송 왔습니다ㅎㅎ 돌기가 좀 더 튀어나왔(?)으면 더 좋았겠지만 이것도 낫뱃 편안~  이번 글은 여기서 마무리.

취미 2024.05.21

아이폰 개인정보 보호 및 보안 추적 선택 불가 문제

안녕하세요. IDFA 테스트하다가 이슈를 발견했습니다. 추적 허용을 앱 개인별로 설정할 수도 있지만 기기 전체 설정에서 추적 허용 설정을 해줄 수도 있어요. '설정 > 개인정보 보호 및 보안 > 추적 > 앱이 추적을 요청하도록 허용' 버튼인데요. 아래처럼 토글 버튼이 아예 비활성화 되어 있는 경우엔 '설정 > 계정 > 미디어 및 구입 항목 > 로그아웃'을 해보세요. 그러면 다시 수정할 수 있게 토글 버튼이 활성화됩니다ㅎㅎ  애플 고객센터에 문의했더니 iOS 버그라고 하고 내부 조사 중이라고 하네요. 참고로 전 iOS 17.4.1 사용 중입니다 참고하세요~ 이번 글은 여기서 마무리.

TroubleShooting 2024.05.18

protocol initializer가 클래스에서 required로 정의되어야 하는 이유

안녕하세요. initializer를 protocol에 정의한 경우, protocol을 채택한 클래스는 protocol에 정의된 initializer를 required로 정의해야 합니다. 인터넷에 이유를 찾아보니까 클래스의 서브클래스에서도 initializer를 강제로 구현하도록 하기 위해서라고 하는데 전 이해가 잘 안 가더라고요.. 저처럼 이해 못 하신 분들의 이해를 돕기 위해 예시를 하나 가져와봤습니다. # 예시우선 protocol의 initializer를 required로 정의하지 않아도 된다고 가정해 볼게요. initializer가 정의된 Animal이란 protocol이 있고,  Animal protocol을 준수하는 Mammal 클래스가 있다고 해볼게요.  Animal protocol을 채택한 ..

Swift 2024.05.12

propertyWrapper로 UserDefaults 관리

안녕하세요. propertyWrapper를 사용하면 UserDefaults 데이터 읽기/쓰기를 쉽게 하는 방법이 있어서 공유드리려구 해요. 프로젝트에 UserDefaultsWrapper라는 propertyWrapper를 추가해주세요. (당연히 이름은 마음대로 하셔도 됩니다.)  그 다음 UserDefaultsManager 라는 구조체를 만들고 UserDefaultsWrapper로 선언된 프로퍼티를 추가합니다.  UserDefaults에서 값을 읽거나 써야 할 땐 그냥 UserDefaultsManager의 stored property를 사용하면 됩니다.(당연히 primitive type 뿐만 아니라 구조체도 가능해요!)  이번 글은 여기서 마무리.

Swift 2024.05.11

Facebook iOS SDK 제한적 로그인

Facebook iOS SDK 17.0.0부터 Facebook 로그인 방식이 변경되었습니다. 앱이 사용자의 활동 추적을 요청했을 때 사용자가 거부했을 경우, Facebook iOS SDK를 통해서 로그인을 할 때 OpenID Connect 표준을 기반으로 한 '제한적 로그인' 방식이 적용됩니다. (ATT 때문에 빡쳤나) '제한적 로그인'의 경우 limited.facebook.com으로 이동합니다. (사용자가 동의한 경우엔 기존처럼 facebook.com으로 이동합니다.)   잘은 모르지만 Facebook iOS SDK를 사용하는 개발자는 Facebook 로그인 방식에 따라 2가지 중 하나를 수행해야 한다고 해요. 중요한 건 Facebook iOS SDK를 업데이트하면서, 이전에 OAuth 2.0 acce..

News 2024.05.03

symbolic link 파일/폴더 압축하기

안녕하세요. 리눅스에는 symbolic link라는 것이 있는데 윈도우의 '바로가기' 같은 개념이랑 비슷한 거라고 이해하면 될 것 같아요. mac에서 '가상본 만들기'를 누르면 symbolic link 파일 또는 폴더를 만들 수 있습니다ㅎㅎ symbolic link 파일이나 폴더 아이콘 앞에는 화살표(?) 같은 게 붙어요. 그런데.. symbolic link 파일이나 폴더를 그냥 zip 명령어로 압축하려고 하면 symbolic link 파일이 깨집니다. 이럴 땐 zip을 사용하지 않고 tar를 사용하면 symbolic link가 깨지지 않고 잘 압축됩니다. 저처럼 삽질하지 마세요..;; 이번 글은 여기서 마무리.

기타 2024.04.15

CocoaPods REST API

안녕하세요. CocoaPods에 배포된 모듈 버전 정보를 검색할 수 있는 REST API를 찾아서 공유드려요. ## Pod 최신버전 검색 메서드 요청 URL GET https://trunk.cocoapods.org/api/v1/pods/{name}/specs/latest URI Parameters Description name Pod 이름 (ex. RxSwift) 아래는 RxSwift로 API 호출했을 때의 예시입니다. ## Pod 모든 버전 검색 메서드 요청 URL GET https://trunk.cocoapods.org/api/v1/pods/{name} URI Parameters Description name Pod 이름 (ex. RxSwift) 아래는 RxSwift로 API 호출했을 때의 예시입니다..

기타 2024.04.13

Google Sign-In iOS SDK 바이너리 다운로드 방법

안녕하세요. 오늘은 한 가지 팁(?) 하나 알려드려고 합니다ㅎㅎ Google Sign-In SDK는 많이들 아시죠? 근데 Google Sign-In iOS SDK는 공식적으로 CocoaPods과 SPM 방식만을 지원하는 오픈소스예요. 그래서 그런지 Google Sign-In iOS SDK는 바이너리 형태인 xcframework를 제공하지 않습니다. 그치만 '난 꼭 xcframework로 뽑힌 Google Sign-In iOS SDK를 써야 해!' 같은 상황도 있을 수 있어요. (저요..ㅠㅠ) 이것저것 찾아보다가 xcframework로 된 Google Sign-In iOS SDK를 얻는 방법을 알게 되었습니다ㅎㅎ 그것은 바로 Firebase iOS SDK를 다운 받는 것이에욧. FirebaseiOS SDK..

기타 2024.04.10