안녕하세요 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이라는 녀석이 추가되었기 때문이죠! 이 부분에 대한 설명은 여기를 참고해주세요! 이렇게 실제 앱의 뷰 ..
안녕하세요! Ick입니다. 오늘은 Frame과 Bounds의 차이에 대해 알아보려고 합니다. 저는 둘 다 코딩할 때 쓴 적이 있긴 한데... 비슷한 거 같지만 이름이 다르니 분명 다른 개념을 가지고 있을 거라 생각해서 한 번 정리해보려고 합니다. 우선 Frame과 Bounds 둘 다 UIView의 instance property입니다. 이 점을 생각하며 이 둘의 차이점을 알아보도록 하겠습니다. Frame, Bounds 정의 Frame은 공식문서에는 아래와 같이 설명되어 있습니다. SuperView의 좌표계에서 뷰의 위치와 크기를 나타내는 사각형이 frame이라고 하네요. Bounds는 공식문서에서 아래와 같이 설명되어 있습니다. 뷰의 자체 좌표계에서 위치와 크기를 나타내는 사각형이 bounds입니다. 즉..
안녕하세요 Pingu 입니다! 오늘은 제가 개인 프로젝트로 앱을 만들다가 달력이 필요한 상황이 발생했는데... 만드는 방법을 찾다가 발견한 FSCalendar라는 좋은 오픈소스 라이브러리가 있길래 사용법을 정리해보려고 합니다! 사용해봤더니 우선 달력이 아주 예쁘게 만들어져서 너무 만족스러워요! 우선 실제 개발자분의 페이지는 여기입니다! 코코아팟으로 FSCalendar 설치하기 우선 오픈 소스 라이브러리를 사용하려면 CocoaPods(이하 코코아팟) 이라는 걸 사용해야 합니다. 코코아팟을 간단하게 설명하면 외부 라이브러리를 저희의 프로젝트에서 사용할 수 있도록 해주는 녀석입니다. 우선 사용을 위해서는 코코아팟을 설치해야 합니다. $ sudo gem install cocoapods 맥 터미널에 아래와 같이 ..
안녕하세요 Ick입니다! 이번 글에서는 요즘 앱 개발을 할 때 쉽게 백엔드를 구성하는 방법인 Firebase를 사용하는 방법 정리하려고 합니다! Firebase에는 두 가지 DB가 있는데 Firestore, realtime Database입니다. 두 개의 차이점을 읽어보니 Firestore가 더 좋아 보여서 Firestore의 사용법을 정리해보려고 합니다. 우선 iOS 앱과 Firebase를 연결하는 방법은 여기를 확인해주세요! Firestore를 사용하기 전에 먼저 Firestore를 생성해야 합니다. 여기를 눌러서 만들어 주시면 됩니다. 만들고 나면 아래와 같이 빈 데이터 베이스가 나타납니다. 그런 뒤 Xcode에서 여기서 하라는 걸 다 해주시면 사용할 수 있습니다. 데이터 구조 이해하기 Firest..
- Total
- Today
- Yesterday
- Swift
- 백준
- DP
- operating
- pattern
- 아이폰
- System
- BFS
- document
- 스위프트
- 코테
- 알고리즘
- 자료구조
- 앱개발
- Combine
- 코딩테스트
- 테이블뷰
- 문법
- 프로그래밍
- Apple
- Publisher
- Xcode
- design
- OSTEP
- 동시성
- operator
- mac
- OS
- dfs
- 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 |