본문 바로가기

iOS의 모든것

(11)
[iOS의 모든것] Custom Font(Pretendard) 등록하기 안녕하세요 ~! 오늘은 Custom Font 지정하는 방법을 알아보려고 합니다. 사이드 프로젝트 도중 Pretendard라는 핫한(?) 글꼴을 적용하게 될 일이 생겼기에... 같이 한 번 적용해 보도록 합시다 ! 1. 폰트 다운로드 일단 홈페이지를 들어가 보도록 합시다. 저는 "눈누"라는 사이트에서 받았어요 ! 디자이너분도 이 홈페이지를 말씀해 주셨고, 보통 여기서 다 받으시는 거 같더라고요. 눈누 사이트 url : https://noonnu.cc/font_page/694 눈누 프리텐다드 - 길형진 (orioncactus) noonnu.cc 그럼 사이트를 한 번 들어가 봅시다. 핫한(?) 글꼴이 만들어지게 된 계기에 대해 기재돼 있습니다. 일단 해당 페이지에서 글꼴을 다운 받아 봅시다. 다운 받은 글꼴의..
[iOS의 모든것] (UIKit) Frame과 Bounds의 차이 안녕하세요 ~! 오늘은 늘 느낌으로만 알고 정확히 알지 못해 말로는 설명못했던 UIKit 프레임 워크의 UIView Instance Property인 frame과 bounds의 차이점에 대해 정확히 되짚어 보는 시간을 가져보려고 합니다. 어김없이 진리의 애플 개발자 문서를 살펴보도록 하겠습니다. 먼저 frame !! frame의 정의를 살펴보면 슈퍼뷰의 좌표 시스템 내에 있는 뷰의 위치와 사이즈를 설명하는 frame 직사각형 이라고 합니다. 즉 부모(상위) 뷰 안에 있는 직사각형 프레임의 위치와 사이즈...를 말하는거 같죠 ?? 일단 그렇게 이해해두고 bounds의 정의도 한 번 살펴봅시다 ! bounds의 정의는... 자신만의 좌표 시스템 내에 있는 뷰의 위치와 사이즈를 설명하는 직사각형 bounds ..
CMC(Central Makeus Challenge) iOS 면접 질문 리스트 수익형 앱 런칭 동아리 CMC (Central Makeus Challenge) 11기에 지원을 해봤습니다 ! 서류 합격 까지 하고 면접을 봤는데 추후 12기 분들에게도 도움이 될 수 있을까 해서 제가 받았던 질문 리스트들 공유드려봐요 ~ 1. 자기소개 2. 지원동기 3. CMC 활동에 시간 할애가 어느정도 가능한지 4. 기존에 프로젝트 진행 경험은 있는지 4-1. 해당 프로젝트에 쓰인 기술들은 뭐가 있는지 4-2. 프로젝트 진행하면서 어려운 점은 없었는지 5. 기획&디자인 분들과 트러블 슈팅이 생기면 어떻게 해결해나갈지 혹은 트러블 슈팅 경험이 있다면 그 해결 과정 6. 3개월의 활동 기간이 끝나더라도 수익 창출을 위한 활동을 계속 할 의향이 있는지 7. 원하는 팀에 참석하지 못하게 돼도 괜찮은지 8. ..
[iOS의 모든것] Could not build Objective-C module 'Firebase' 잘되던 Xcode 빌드가 갑자기 "Could not build Objective-C module 'Firebase'"라는 오류 메시지와 함께 빌드가 되지 않는 겁니다...!! 무슨 문젠지 구글링을 해보다 Apple Developer 사이트에 비슷한 문제의 답변이 달려 공유해보겠습니다. Xcode의 Preference.. -> Locations 탭의 Derived Data를 보면 경로가 있다. 그 경로로 이동한 후 1. Xcode - Preference - Locations 탭에 있는 파일 경로 클릭 2. Xcode 종료 2. Derived Data 안에 문제 있는 Project와 관련된 파일 모두 삭제 (= Project 이름이 들어간 파일 삭제) 3. Project 폴더의 xcworkspace 파일, ..
[iOS의 모든것] iOS App HTTP 접근 허용하기 안녕하세요 ~! 오늘은 iOS App에서 HTTP접근을 허용하도록 하는 방법을 알아보려고 합니다. 사이드 프로젝트 도중 HTTP URL에 네트워크 통신을 하려다 보니 다음과 같은 에러 로그를 띄우더라고요 ~! App Transport Security has blocked a cleartext HTTP (http://) resource load since it is insecure. Use HTTPS instead or add Exception Domains to your app's Info.plist. iOS9버전에서부터 애플에서 적용한 보안 정책이라고해요 ~! 애플에서 보안에 취약한 네트워크를 차단하기 위한 정책인 것 같은데...오늘은 그 차단된 접근 제한을 풀어보도록 하겠습니다. 일단 프로젝트에 있는..
[iOS의 모든것] 자주 쓰는 코코아팟 명령어 안녕하세요 ! 자주 쓰이는 코코아팟 명령어 관련해서 알려드리도록 하겠습니다. 1. CocoaPods 설치 & 업데이트 $ sudo gem install cocoapods 2. 팟 파일 & 워크스페이스 생성 $ pod init 3. 팟 다운 & 설치 $ pod install 4. (기존 pod file에 등록돼있던) 팟 버전 업데이트 $ pod update 제가 가장 자주 쓰는 명령어 네 가지만 적어봤습니다. 혹시나 더 필요한 사항이나 추가됐으면 좋겠다~ 하는 게 있으시면 피드백 부탁드리겠습니다 :) 감사합니다 !
[iOS의 모든것] 애플 개발자 계정 등록 안녕하세요 ~! 오늘은 애플 개발자 계정 등록에 관해서 알아보려고 합니다. 129,000원이라는 비용 압박감이 있긴한데... 아이폰 개발자 길을 선택한 이상 피할 수 없는 길인듯 해요 ㅠㅠㅠ 회사 계정이 따로 있다보니 제 계정에 개발자 등록을 할 필요는 없었어서, 저도 2년을 버티다가 드디어 제 계정으로 앱 런칭할 일이 생겨서 등록하게 됐네요... ㅎㅎㅎ 그럼 알아보도록 하겠습니다. 참고 : 개인 정보 관련된 항목은 흰색 바탕으로 가려뒀습니다 !! 1. Apple Developer 사이트 접속 & 로그인 - Apple Developer 사이트(developer.apple.com)에 접속한 뒤 로그인 합니다. 2. 우측 상단의 Account 탭 클릭 3. 하단의 "Join The Apple Develope..
[iOS의 모든것] RxSwift - Subject 1. PublishSubject - 가장 기본적인 Subject로써 init 시점에 아무런 값도 가지지 않는다. (subscribe가 발생되도 아무런 값을 방출하지 않음) - subscribe 발생 이후로부터 Observable이 방출시킨 값만을 이벤트로 전달받는다. - onCompleted() or onError(_:) 이벤트가 발생하면 더이상 onNext(_:)이벤트는 발생하지 않는다. import UIKit import RxSwift let publishSubject = PublishSubject() publishSubject.onNext("1") publishSubject.subscribe() { print("첫 번째 구독 \($0)") } publishSubject.onNext("2") publ..