안녕하세요 Pingu입니다! 🐧 약간 그냥 정리하는 식으로 쓸 계획이라 조금 정신없을 수 있습니다....ㅎ 이번 글에서는 앱이 Foreground 일 때와 Background 일 때가 무슨 상태인지 알아보려고 합니다. 일단 그 전에 Foreground, Background를 포함하여 앱 실행상태에는 어떤것들이 있고 어떤 과정으로 변화하는지를 먼저 살펴보도록 하겠습니다. 앱이 Foreground인지 Background인지에 따라 할 수 있는 작업과 할 수 없는 작업이 나뉘게 되는데요, 앱이 Foreground 상태라면 사용자가 사용중이므로 UI와 같은 것들을 처리하는데 주력한다고 합니다. 앱이 Background 일때는 화면 밖에 있으니까 별 일을 하지 않겠죠? 앱이 Foreground, Backgroun..
안녕하세요 Pingu입니다! iOS에서 개발을 하다 보면 네비게이션 컨트롤러를 자주 사용하는데요, 네비게이션 컨트롤러는 스택의 개념으로 뷰가 쌓이는데 가끔 2개나 3개를 한 번에 없애버리고 싶을 때가 있더라고요. 어떻게 하는 게 좋을까.. 하다가 다양한 방법이 있어서 정리해보려고 합니다. 물론 더 많은 방법이 있을 수 있지만... 제가 오늘까지 알아본 방법까지 정리해보겠습니다. 만약 다른 방법이 있다면 알려주시면 감사하겠습니다! 우선 프로젝트를 하나 만들고 네비게이션 컨트롤러를 만들어 줍니다. 그리고 구분이 쉽게 배경색을 RGB로 하나씩 만들어서 네비게이션 뷰 스택에 쌓는 용도로 만들어보겠습니다. 이렇게 만들어 놓으니까 은근히 예쁜데요? ㅋㅋㅋㅋ 배경 색이 없는 뷰는 WhiteViewController라..
안녕하세요 Pingu입니다! 저번 글에서 음악이나 동영상을 백그라운드에서 재생 가능하도록 만들었습니다. 그럼 이제 위와 같이 앱 외부에서 음악이나 동영상을 제어하는 방법을 알아보도록 하겠습니다! 우선 이번 글을 쓸 때 참고한 공식문서들입니다. developer.apple.com/documentation/mediaplayer/mpremotecommandcenter developer.apple.com/documentation/mediaplayer/becoming_a_now_playable_app 일단 음악이나 동영상을 백그라운드에서 재생 가능하도록 만들었다고 가정하고 진행하겠습니다. 우선 MPRemoteCommandCenter, MPNowPlayingInfoCenter에 대해 알아보고 가도록 하겠습니다. M..
안녕하세요 Pingu입니다. iOS에서 이 부분 다들 아시나요? 음악이나 동영상 같은 콘텐츠들을 해당 콘텐츠를 제공하는 앱에서 제어하는 것이 아닌 다른 곳에서 제어할 수 있도록 하는 리모컨 같은 역할을 하는 기능인데 iOS를 사용하신다면 한 번쯤 써보셨을 거예요. 즉 앱이 백그라운드에 있을 때 제어할 수 있도록 하는 것이죠. 이번 글에서는 iOS 개발을 할 때 이러한 기능을 추가하기 위한 방법을 알아보기 전에 음악이나 동영상을 백그라운드에서 재생가능하도록 하는 작업부터 해보려고 합니다. 바로 제어하는 기능을 추가하는 방법을 보려면 여기를 보시면 됩니다! 사용할 음악 파일은 아래 링크에서 받을 수 있어요! file-examples.com/index.php/sample-audio-files/sample-mp..
안녕하세요 Pingu입니다. 오늘은 UILabel와 같은 텍스트를 보여주는 뷰에서 특정 글자만 색을 바꾼다던지 폰트를 적용하는 등의 작업을 해보려고 합니다. 보통 텍스트라고 하면 String 자료형을 갖는데요, 수정이 가능한 String의 속성을 나타내는 NSMutableAttributedString이라는 녀석이 있습니다. 얘를 적절히 조작하면 원하는 텍스트만 색을 바꾼다던가 폰트를 바꾼다던가 할 수 있습니다! 실제로 NSMutableAttributedString의 정의를 보시면 아래와 같습니다. "텍스트의 일부에 관련된 속성이 있는 수정 가능한 문자열입니다" 즉 얘를 통해 문자열의 일부만 수정할 수 있다는 말이죠. 그럼 바로 특정 문자열의 색을 바꾸는 것을 해보겠습니다. Label 특정 문자만 색 바꾸..
안녕하세요! Ick입니다. 이번 글에서는 제가 앱 개발을 할 때 사용하면 정말 좋다고 느낀 UserDefaults라는 것에 대해 알아보려고 합니다. UserDefaults가 무엇인가요? 하고 물으신다면 간단하게 말하자면 "사용자의 정보를 저장하는 것"이라고 말할 수 있습니다. 예를 들어 사용자가 어떤 언어로 이 앱을 쓰고 싶은지에 대한 정보라던가 흔히들 보는 팝업창을 오늘은 그만 보기 같은 기능을 구현할 수 있도록 정보를 저장하는 것이죠! 우선 공식 문서는 여기 입니다. UserDefaults는 아까 말했듯 앱의 사용자의 정보를 Key-Value 쌍으로 계속 저장합니다. 이렇게 정보를 저장하여 앱에서 사용자 기본 설정들을 설정할 수 있습니다. 이 값은 앱의 프로세스 내에서 동기적으로 변경되며 영구 저장소..
안녕하세요 Ick입니다. 오늘은 UIWindow에 대해서 알아보려고 합니다. 참고한 공식 문서들은 아래와 같습니다. UIWindow View and Window Architecture Windows 먼저 UIView와 UIWindow가 어떻게 쓰이고 있는지부터 알아보겠습니다. 위 사진은 애플 공식문서에서 UIView와 UIWindow의 관계를 설명할 때 나오는 사진입니다. UIView에 대한 설명은 여기를 참고해주세요! iOS 12 까지는 App delegate에서 window를 생성해줬는데 iOS 13부터는 Scene delegate에서 window를 생성해줍니다. 이는 iOS 13 부터는 window를 여러 개 사용하는 multiple windows가 지원되기 때문이라고 합니다. 자세한 내용은 여기를..
안녕하세요 Ick입니다. 오늘은 UIView에 대해서 알아보려고 합니다. UIView는 어떤 구조를 가지고 있는지 한 번 알아보겠습니다! 참고한 공식문서들은 아래와 같습니다. UIView View and Window Architecture 먼저 UIView와 UIWindow가 어떻게 쓰이고 있는지부터 알아보겠습니다. 위 사진은 애플 공식문서에서 UIView와 UIWindow의 관계를 설명할 때 나오는 사진입니다. UIWindow에 대한 설명은 여기를 참고해주세요! 사실 이 사진은 iOS 13부터는 조금 설명이 부족한 사진인 게 iOS 13부터 SceneDelegate가 추가되면서 UIWindowScene이라는 녀석이 추가되었기 때문이죠! 이 부분에 대한 설명은 여기를 참고해주세요! 이렇게 실제 앱의 뷰 ..
- Total
- Today
- Yesterday
- 자료구조
- Apple
- DP
- Combine
- 동시성
- 코테
- Swift
- Xcode
- document
- dfs
- System
- 프로그래밍
- 백준
- 코딩테스트
- pattern
- BFS
- mac
- operating
- 문법
- operator
- 아이폰
- 알고리즘
- 스위프트
- Publisher
- OSTEP
- design
- 테이블뷰
- OS
- IOS
- 앱개발
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |