/iOS 📱
-
[CoreNFC] NFC 읽고 시리얼 넘버(UID) 구하기/iOS 📱 2022. 8. 31. 17:46
CoreNFC 이번에 사용 되는 Framework CoreNFC 입니다 ! 어떤 일을 대신해줄 지 Apple 공식문서를 통해서 한번 알아보겠습니다 ! NFC tags를 발견하고, NDEF Data가 포함 된 메시지를 읽고, 쓰기 가능한 태그에 Data를 저장한다고합니다. NFC 기술에 대한 정확한 지식은 없어도 우리가 개발을 하기 위해서는 NFC tag와 NDEF Data는 짚고 넘어가야 수월할 것 같네요 !! 이 전 블로그 포스팅과 비교하면 공식 문서에 대한 설명을 자세하게 다뤄볼 예정인데요 ! 제 iOS 개발에 저만의 멘토 두 분이 계신데, 항상 공식문서에 기반하여 남에게 설명할 수 있는 정확한 지식을 보유하고 계셔서 그 분들에에게 영향을 받았습니다. NFC tag 또한 공식문서에 기반하여 얘기해볼게..
-
[Firebase] Crashlytics 에서 .dSYM 파일 수동 추가하기/iOS 📱 2022. 8. 25. 13:00
안녕하세요 Rx 입니다. 프로젝트가 끝난 기념(?)으로 앱 안정화 작업을 하고싶었습니다. 그리하여 ..! 비정상 종료을 쉽게 볼 수 있는 Firebase Crashlytics를 보았습니다 Crashlytics 확인하는 법 Firebase console로 이동 -> 해당하는 프로젝트 이동 -> 왼쪽 메뉴 바에서 Crashlytics 선택 Crashlytics을 들어가게되면 아래와 같은 화면에서 비정상 종료 로그를 볼 수 있습니다. 위와 같은 화면을 통해 비정상 종료의 위치와 앱의 버전, 사용자의 iOS 버전 등 분석에 도움되는 정보를 확인할 수 있었습니다. 근데 왜 두 개 밖에 보이지않지 .. 버그가 있어도 덜덜 떨리지만.. ! 없어도 불편한 이 기분 … 분명 3개월 로그를 전부 확인한건데 말이죠... 다..
-
로컬라이징(Localization, Localizable) 적용하기 / info.plist/iOS 📱 2022. 8. 21. 23:53
안녕하세요 Rx입니다😊 오늘은 한글 하드코딩을 피하고 다국어 지원을 위한 현지화에 대해서 포스팅하겠습니다. 로컬라이징이 뭔데 ? 현지화는 글로벌화 (Globalization)와 대비되는 개념으로, 글로벌화가 세계공통의 표준화를 노리는 전략이라면 현지화는 현지의 문화적, 정치적, 사회적 특성에 맞춘 특화에 초점을 맞춘다고 할 수 있다. -나무위키- 나무위키에서는 위와 같이 설명하고 있습니다. 아이폰에서 한국어 이외의 언어로 변경하였을 때 앱에서 영어가 나온 것을 볼 수 있습니다. 여러분들도 어떤 앱이 어떻게 로컬라이징을 하고있는지 한번 찾아보세요 !! 이제 본격적으로 info.plist 에 로컬라이징을 적용해보겠습니다 !! 고고 !! info.plist 카메라 사용 권한을 얻기 위해 info.plist에 ..
-
[iOS] Prevent Capture, Recording 화면 스크린샷 방지 기능 개발에 대한 회고/iOS 📱 2022. 7. 6. 11:51
개요iOS 단말에서 특정 화면을 스크린샷을 하지 못하게 해달라는 요구사항이 있었는데요 !구글링과 Github를 돌아다니며 가볍게 훑어보니 관련한 레포지토리들이 검색 결과가 있던 편이었습니다.단순하게 오 ~ 구현이 쉬운가보다하고 넘어갔었는데그것은 저에게 큰 시련으로 다가오게됩니다....! (회고를 작성하게된 계기...!) 요구사항 정리요구사항은 보안상의 이유로 특정화면의 캡쳐를 방지하는 것이었습니다. 특정 화면을 막았더라도 사진으로 저장하는 방법을 넷플릭스 우회법으로 검색을 해보니 아래와 같이 정리할 수 있었습니다.스크린샷 기능 사용화면 기록를 통해 기록한 영상을 스크린샷App Switcher 를 통해 보이는 화면을 스크린샷 주어진 시간은 2일, 요구사항, 그리고 우회 방법까지 막는 것은 크게 어려워보이지..
-
[iOS] 디바이스의 정보를 알아보자 UIDevice - UUID (1)/iOS 📱 2022. 5. 14. 22:12
공부한 내용을 기록한 게시물이기 때문에 틀릴 가능성이 있습니다. uuid, 보통 기기 고유의 유니크한 Key라고 불려온다. 그런데 uuid가 바뀌는 현상이 있어, 자동 로그인에 문제가 생겨 관심이 가게 되었다. UDID (Unique Device identifier) UUID에 대해서 알아보던 와중에 이전에는 UDID (Unique Device Identifier) 사용을 했다고 나와있었다. 단말기를 식별하기 위해 고유하게 할당된 40개의 숫자와 문자열인데, 기기 식별 값은 개인정보의 문제가 일어나 iOS 5에서 deprecated 되었다 그래서 현재 사용하지않으므로 이정도로만 역사(?)에 대해서만 알아보았다. UUID (Universally unique identifier) UUID란 한글로 말하면 범..
-
[iOS] 동적 테이블 뷰 셀(UITableView Dynamic cell height) 만들기 (estimatedRowHeight, autoDimension)/iOS 📱 2022. 5. 1. 00:31
UITableView 의 Content Type은 두 가지가 있다. 정적인 방법 (Static Cells) 동적인 방법 (Dynamic Prototypes) 동적인 방법의 Prototype Cell에 대해서 알아볼려고한다. 테이블 뷰의 행 높이를 결정하는 크게 두 가지 방식이 있다. 모두 동일한 높이를 갖는 방식 각 셀마다 다른 높이를 갖는 방식 각 셀마다 다른 높이를 갖는 방식에 내부 콘텐츠에 따라 동적으로 셀의 높이가 가변하는 방식이 또 있다. 모두 동일한 높이를 갖는 방식 테이블 뷰에서 행의 높이를 결정하는 것은 UITableView 객체의 rowHeight 속성이다.높이 설정하는 방법 : 인터페이스 빌더 테이블 뷰 전체에 일괄로 높이를 설정하는 방법 해당 프로토타입 셀 하나에만 높이를 설정하는 방..
-
[iOS] Core Loaction 위치 권한 설정하기/iOS 📱 2022. 4. 26. 23:57
안녕하세요 ! 오늘은 위치 정보가 필요할 때 위치 권한을 얻는 방법을 공부해보겠습니다 iOS 13 기준으로 설명드릴게요 ++ 추가 2024.01.19 (금) iOS 13에서 deprecated 된 방식 이외에 iOS 14에서 사용하는 프로퍼티와 메소드 추가 권한상태를 쉽게 출력할 수 있는 extension 추가 공식 문서로 자세하게 찾아보겠습니다. 1. 위치 정보를 받기 전에 requestAlwaysAuthorization() 혹은 requestWhenInUseAuthorization() 메소드를 꼭 호출해야한다고합니다. 2. Info.plist 파일에 key를 추가해줘야한다네요. 3. 권한 요청에 대한 사용자의 인터렉션은 CLLocationManager 의 delegate를 위임 받아, location..
-
[iOS] ViewController의 생명주기 (Life-Cycle)/iOS 📱 2022. 4. 25. 02:17
iOS 앱에서 보이는 화면은 ViewController로 이루어져있다고해도 과언이 아니네요. 그런 중요한 녀셕인만큼 잘 알고 쓰고싶은 마음입니다 시작해봅니다 ~ 우리는 프로젝트를 생성하게 되면 가장 먼저 만나는 화면이자, 코드입니다 궁금하니까 Jump to Definition을 통해 봤습니다. loadView 이후에 불려진다 ? 일단 전체적인 Life-Cycle를 알아보자 ! 위 문서에 나온 순서에 맞춰 각 메소드를 알아보겠습니다 viewDidLoad() 이 메소드는 view controller가 메모리에 불려졌을 때 호출이 되며 view가 nib 파일에서 호출되었는지, 프로그래밍적으로 loadView() 메소드에서 만들어졌는지 여부에 관계없이 호출되어진다고합니다. viewWillAppear(_:) vi..