UserDefaults와 Sandbox System
·
iOS/💻 iOS Study
💡 UserDefaults 앱을 실행하는 동안에 키-값 쌍으로 데이터를 저장하는 기본 데이터베이스 인터페이스이다. 애플에서 기본으로 제공하는 저장소로 딕셔너리와 비슷한 구조를 가지고 있다. 런타임 시점에 기본 데이터베이스가 생성되고 .plist 파일에 저장이 된다. plist 파일은 Sandbox 내에 저장되기 때문에 앱을 꺼도 데이터가 유지되고, 앱을 삭제한 경우에만 데이터가 제거가 된다. UserDefaults를 사용할 때는 대용량 데이터나 사용자 정보와 같은 데이터보다는 자동로그인 여부, 알림 설정 여부, 인앱 결제 여부, 간단한 사용자 기본 설정 등과 같은 단일 데이터를 저장한다. 💡 App Sandbox ✅ Sandbox란? App Sandbox는 보호된 영역 안에서 프로그램을 작동시키는 보안 ..
멀고도 험한 AutoLayout 설정의 길
·
iOS/🚨 오류 그리고 해결
AutoLayout,, 알겠는데 모르겠다(?) 머릿속으로 상상하여 멋진 결과를 꿈꿨지만 현실은 크기도 엉망 위치도 엉망 인스타 UI를 만들어보자 -> 내가 꿈꾼 완성작 아이폰 14 pro로 실행했을 땐 눈 빠지게 만든 보람이 있었다. 하지만 오토레아이웃은.. 다양한 크기의 디바이스에서도 이 레이아웃을 잃으면 안되기 때문에 아이폰 8, 아이폰 8플러스에서도 실행해보았다. 이상해진 내 인스타 ui 눈이 빠지게 여백과 비율을 설정했지만 아이폰 8로 구동하는 순간 와장창창.. 상단 아이디 레이블도 사라지고 게시물 부분도 요상해졌다. -> 아이폰 8 플러스 아이디 레이블이 잘려나갔다. 대체 왜? 알 수 없다. 제대로 이해하지 못했으니 어떻게 연결했는지 알리가 있나.. sos 요청 그리고 해결.. 저가요.. 일케 ..
iOS 13 이후의 앱의 라이프 사이클 & available
·
iOS/💻 iOS Study
iOS 13.0 버전 ios 13.0 버전 업데이트가 되면서 iPad OS가 등장하게 되었다. 아이패드에서는 두 개의 앱을 동시에 실행할 수 있게 되면서 앱의 생명주기 관리 방식에 변화가 생겼다. 앱의 생명주기(Life Cycle) 생명주기란? 앱의 실행부터 종료, 백그라운드 상태까지 앱의 상태가 전환되는 과정을 말한다. Not Running 앱이 시작되기 전 상태 (아직 켜지 않음) ForeGround Active 앱이 화면에서 실행 중인 상태 하나의 앱만 Active상태로 유지할 수 있음(아직 아이폰에서 두가지 앱을 동시에 실행할 수 없으니까!) Inactive 앱이 화면에서 실행 중이나 어떤 신호도 받지 않는 상태 (비활성화 상태) 앱 사용중 전화오거나 알람 울릴 때.. BackGround 앱이 화..
Navigation Bar - iOS 버전에 따른 차이
·
iOS/💻 iOS Study
💡 최소 버전을 ios 12.0버전으로 설정한다면? 정상 빌드가 되지 않는다 위와 같은 오류 문구가 나온다. 네비게이션 바의 모양이 13.0부터 변경되어 발생하는 문제 해결 인스펙터 영역에서 네비게이션 바의 Appearances의 체크박스를 모두 해제하였더니 해당 오류는 사라졌다. 또 다른 오류... UIScene 관련한 문제가 발생한 듯 하다. 13.0 버전 업데이트부터 지원하는 메서드가 추가되어서 발생 > 13.0 버전 업데이트 부터 새로운 프로젝트를 생성할 때, SceneDelegate를 무조건 생성해야 한다. 그래서 찾은 해결 방법! 13.0이하 버전에서 실행시키려면 SceneDelegate.swift의 전체 클래스 AppDelegate.swift에서 두개의 메서드에 available 속성을 추가..