[Sesac IOS] 1일차 TIL
TIL

[Sesac IOS] 1일차 TIL

1일차 교육을 듣고 새로 알게된 점과 더 알아보고 싶은 점들을 정리했습니다.


Learned

  • 앱은 크게 화면(Scene), 기능(Logic), 데이터(Data)로 구성된다.
  • 앱이 데이터에 접근하는 방법
    • 앱 내부에 데이터를 저장하여 사용할 수 있지만 백업 및 복구가 필수적이다.
    • 서버에 데이터를 저장하고 네트워킹을 통해 접근할 수 있다.

iPhone 저장 공간 설정에서 앱마다 차지하는 용량을 볼 수 있는데 앱 크기는 앱이 자체적으로 가지는 용량이고 문서 및 데이터는 앱 내부에 저장된 데이터(카카오톡 대화의 이미지 파일, 게임의 업데이트 파일 등)를 의미한다.

 

  • 애플의 정책에 따른 앱 개발
    • 애플의 정책에 따라 앱을 만들어야 앱 스토어에 앱을 출시할 수 있고 그렇지 않으면 스토어에 등록되지 않는다.
    • 애플 로그인을 반드시 포함해야 다른 소셜 로그인(구글, 카카오, 네이버 등)을 앱에 사용할 수 있다.
    • 2022년 6월 30일부터 사용자의 개인정보 보호를 위해 앱 계정 삭제(회원 탈퇴) 기능을 반드시 포함해야 한다.

이러한 애플의 정책 때문에, 같은 앱이라도 안드로이드와 IOS가 지원하는 기능이 상이한 경우가 있다.

 

  • IOS 버전 업데이트
    • IOS 버전이 업데이트될 때마다 새로운 기능이 추가되거나 삭제된다. 
      • SF Symbols (시스템 아이콘)은 IOS 버전 13.0 이상에서만 사용 가능하다.
      • IOS 버전 14.0부터 앱에 자신의 위치 정보를 공유할때 대략적 또는 구체적으로 선택할 수 있는 기능이 추가됐다.
    • 애플 개발자 사이트의 IOS 버전 사용 현황을 보고 타겟으로 할 IOS 버전을 설정할 수 있다.

2022년 5월 31일 기준 사용 현황

최신 IOS 버전만을 지원하면 개발 속도가 빠르다는 장점이 있지만 사용자 수는 다소 줄어들 수 있다.

 

  • Xcode 프로젝트 생성
    • Product Name : 프로젝트의 이름으로 앱 이름의 기본값이다.
    • Team : 앱 스토어에 표시되는 개발자 이름으로 실제 기기에 앱을 빌드하기 위해서 반드시 필요하다.
    • Organizaion Identifier : Bundle Identifier에 조합되는 식별자로 웹의 도메인을 거꾸로 적는 형태를 띈다.
    • Bundle Identifier : 앱의 고유 식별자로 앱 스토어에 출시된 많은 앱을 구별하게 해주는 역할.
      실제로 중복되는 식별자를 가진 앱은 출시가 불가하고, 앱을 출시한 후 식별자를 바꾸면 아예 새로운 앱이 만들어진다.
      Organization Identifier와 Product Name의 조합으로 이루어진다.
  • Xcode 프로젝트 설정
    • 프로젝트의 최소 지원 IOS 버전을 변경할 수 있다.
    • 지원하는 IOS 기기(iPhone, iPad)를 선택할 수 있다.
      • iPhone 지원 앱은 iPad에서도 사용이 가능하지만 iPhone 크기로 보여진다.
      • iPad 지원 앱은 iPhone에서 사용이 불가하고 iPad 앱 스토어에서만 보여진다.
      • iPhone과 iPad를 모두 지원할 경우 동시에 호환이 가능하지만 레이아웃을 고려해야하며,
        앱을 출시한 이후에 단일 기기(iPhone 또는 iPad)만 지원하도록 변경이 불가하다.
단일 기기만을 지원하는 앱은 출시 이후 두 기기를 동시에 지원할 수 있도록 변경할 수 있다.

 

  • Launch Screen : 스플래시 화면이라고도 하며 앱을 실행시켰을때 잠깐 나타나 사라지는 화면
  • info.plist :  프로퍼티 리스트라고 하며 보안 설정 및 하드웨어에 대한 앱의 접근 권한을 설정할 수 있다.
  • 에셋(Asset)
    • 아이폰은 기기마다 화면 크기가 달라서 각 해상도별로 대응할 수 있는 에셋 이미지가 필요하다.
    • 각 아이콘 에셋은 최대 3배수의 해상도를 가진다. (안드로이드는 최대 5배수 까지)
    • 예를 들어 iPhone SE는 2배수 이미지를 사용하고 iPhone X는 3배수 이미지를 사용한다.
    • 예외로 pdf 벡터 이미지를 사용하면 하나의 리소스로 각 해상도별 대응이 가능하다.
    • 고해상도 이미지 하나만으로 대응하지 않는 이유는 애플의 App Thinning 기술 때문이다.
App Thinning이란?
디바이스에 앱을 설치할때 앱 스토어와 운영체제가 앱의 용량을 최소화하고
빠르게 다운로드할 수 있도록 디바이스의 특징을 고려해서 설치해주는 기술이다.

그 중에서도 슬라이싱(slicing)을 사용해서 기기에 대응되는 해상도의 에셋만 다운로드하기 때문에
같은 앱이라도 기종에 따라 앱의 용량이 달라진다.

 

Learning

  • HIG 문서 살펴보고 내용 정리하기
  • IOS 버전 별로 UI가 다르게 나타나는 이유 찾기
  • 이미지뷰 ContenMode의 Aspect와 Scale, Fit과 Fill 차이 정리하기

이상입니다.

'TIL' 카테고리의 다른 글

[Sesac IOS] 6일차 TIL  (0) 2022.07.11
[Sesac IOS] 5일차 TIL  (0) 2022.07.09
[Sesac IOS] 4일차 TIL  (0) 2022.07.07
[Sesac IOS] 3일차 TIL  (0) 2022.07.06
[Sesac IOS] 2일차 TIL  (0) 2022.07.05