본문 바로가기
ios 개발 일지

[패스트캠퍼스][나만의 iOS 앱 개발 입문] [ iOS개발 강의] 5주차 학습일지

by IGBR 2022. 1. 25.

드디어 마지막 주차이다. Apple Music을 모티브로 만든 예제로 학습을 하였다. 

AVPlayer를 활용하여 진행했고 뮤직앱은 안드로이드로도 안해본 개발이기 때문에 생소한 점이 굉장히 많았고 더욱 관심을 가지게 했다.

 

디버깅 과정

could not dequeue a view of kind : UICollectionElementalKindSectionHeader with identifier
TrackCollectionHeaderView - must register a nib or a class for the identifier or connect a prototype cell in a story board

 

해결한 방법

정말 간단하게 Collection Reusable View에서 Identifier를 설정해주면 되는 것이다. 

나의 경우에는 작성을 안한건 아니었구.. 오타가 있어서 에러가 났었다.  😂

 


AVPlayer

  • 미디어를 관리하는 데에 사용되는 컨트롤러 Object
  • Video, MP3와 같은 오디오 파일을 재생 가능
    • Local과 Remote File 기반, HTTP을 통한 Streaming 가능
  • 한 번에 하나의 미디어를 재생할 수 있음
  • AVQueuePlayer라는 하위 클래스를 사용하여 대기열을 만들고 관리할 수 있다.
    • Queue의 items() 라는 메소드를 통해 Queue 대기열 아이템(AVPlayerItem)을 받아올 수 있는데,
      스트리밍의 경우 보안을 위해 URL을 무한대로 사용할 수 없는 구조도 있다고 한다.
  • replaceCurrentItem(with: AVPlayerItem)을 사용하여 현재 관리하는 하나의 미디어를 관리할 수 있다.
  • 백그라운드에서도 재생되게끔 할 수 있다. 

나의 경우 뷰의 위치를 정하는 작업이 안드로이드와는 약간 다른 모습이라 어색했어서 어려움을 느꼈다. 때문에 해당내용에 관하여 정리 하려고 한다.

 

 오토 레이아웃

  • - 어떤 디바이스에서라도 그에 따라 자동적으로 배치될 수 있게끔 하는 것
  • - 크게 pin으로 설정하는 방법과, ctrl+드래그앤드랍으로 설정 가능
  • - 간격을 고정으로 한 오토레이아웃 (뷰의 크기가 변동)
  • - 뷰와 다른 뷰 사이의 간격과 뷰와 뷰컨트롤러 테두리와의 간격을 고정 -> 뷰는 그 크기를 맞추기 위해 자체 크기 변동

※ Safe Area : 상태바 등과 겹치지 않게 미리 IDE에서 표시해 주는 것 (파란색 테두리로 표현)

 

 

설정하는 방법

강의 때는 전부 드래그앤 드랍으로 하나씩 constraint를 정해주었는데 

후에 따로 swift개발을 할때는 pin으로 설정하는 방법도 사용해보고 싶다. 

무척 간단하고 가독성이 있어보였다.

 

pin 사용
설정해준 뒤 add Constraint 버튼 클릭

물론 contraint를 지정해주면서 생소했던 말들이 있었기 때문에 애플 공식 문서에서 참고하였다.

apple의 autolayout document

Leading은 왼쪽여백 , Trailing은 오른쪽 여백이라고 이해하면 편했다. 

 

찾아 보니 Leading은 글이 시작되는 부분 Trailing은 글이 끝나는 부분이라고 한다. 

하지만 엄연히 이건 우리나라나 영어와 같이 왼쪽에서 오른쪽으로 글을 쓰는 문화에서나 이렇게 이해하는게 가능하지 아랍어권에서 오른쪽에서 왼쪽으로 글을 쓰기에 우리가 알던 논리와 반대다. 

내가 만일 다국어를 지원하는 앱을 개발한다면 꼭 주의해야할 사항이다. 

 

 


이렇게 5주간의 교육이 끝이 났다. 

정말 알찬 교육이라고 생각하는게 기본적인 Swift에 대한 지식, 또 그걸 기반으로 한 여러가지 예제 , UI 추가 교육, 개인 프로젝트 및 코드 리뷰까지 iOS 애플리케이션 개발자가 되고싶어 강의를 찾던 나에겐 너무나도 좋은 기회였으며 처음 다짐했던 목표 'Swift 기본 다지기'를 충분히 달성했다고 생각한다. 

우리나라는 iOS 앱개발에 대한 교육이 그다지 많지 않은거 같다. 나의 경우 국비지원을 통하여 최대한 교육을 들어보려고 했지만. iOS는 정말로 손에 꼽힐 정도로 교육이 없었다. 포기하고 유료 강의를 들어야 하나 싶을 때 패스트캠퍼스의 K- DigitalCredit으로 10%의 수강료만 내고 수료후 페이백을 받는 것을 통해 정말 부담없이 내가 원하는 Swift 과정을 들을 수 있었다. 

 나에게 이런 기회와 좋은 강의를 제공해준 패스트캠퍼스에 감사하고 앞으로도 iOS 애플리케이션 개발자가 되기위해 노력해 나가야 겠다. 

댓글