본문 바로가기

전체 글9

[iOS][UIKit]Firebase로 Push Message 보내기 이번엔 Firebase로 연동하여 App으로 Push Message 보내는 방법을 써보려한다. 필자가 서비스하는 App을 기준으로 설명해 보겠다. 우선 원리부터 설명하자면 크게 기기 등록과 Push 전송으로 나눌 수 있다. STEP 1 - 기기 등록 APNS 서버에 기기등록을 요청한다. 등록된 Device Token을 App으로 전달해준다. APNS로부터 받은 Device Token을 Firebase로 전달해준다. FCM Token을 App으로 전달해준다. FCM Token을 Server로 전달해준다.(여기서 Server는 Push Message를 발생시키는 서버로 생략가능) STEP 2 - Push 전송 Firebase로 Push Message 전송 요청(꼭 Server가 아니여도 Firebase로 P.. 2022. 6. 29.
[iOS][UIKit]LaunchScreen만 Portrait으로 고정하기 필자가 관리하는 앱에서 골치아픈 문제가 생겼다. 분명 Device Orientation을 ViewController.swift단에서 Portrait으로 제한했는데 앱을 시작할 때 옆으로 뉘어서 시작하면 landscape으로 시작되는게 아닌가... 구글링을 해보니 info.plist에서 [Supported interface orientations] 설정으로 landscape를 지워야 한다고 한다. 그런데 이렇게 하면 앱안에서 landscape로 보고 싶을 때 보지 못한다:( (잠깐 필자는 Device Orientation이 뭔지 몰랐으니 짚고 넘어가면 Portrait은 초상화라는 뜻이고 초상화처럼 세로로 세웠을 때 상태를 말한다. Landscape는 풍경화라는 뜻이고 풍경화처럼 가로로 뉘었을 때 상태를 말.. 2022. 6. 29.
[iOS][UIKit]Network 상태 확인하기 App 실행 시 네트워크 상태를 확인해야할 일이 생겼다. 찾아본 바로는 2가지 방법이 있는 것 같다. 1. import Reachability (over iOS8) Reachability란 네트워크 상태를 체크할 수 있는 외부 라이브러리이다. cocopod을 통해 의존성 주입하면 import가 가능하다. 허나 필자는 iOS13이상만 지원하는 App을 개발하므로 다음으로 넘어가자. 2. import Network (over iOS12) iOS 12부터는 Apple에서 Network 프레임워크를 지원한다. Network 프레임워크에 대한 자세한 내용은 https://developer.apple.com/documentation/network Apple Developer Documentation develope.. 2022. 6. 28.
[iOS][UIKit]Background에서도 죽지 않게 실행시키기 iOS App 을 개발하면 당연히 background에서도 돌아갈 줄 알았다. 역시나 그럴리 없고 설정을 추가 해줘야한다. info.plist에서 [Application does not run in background]를 추가해주면된다. Value YES: Background로 보내면 어플 종료 NO: Background로 보내도 어플 생존 2022. 6. 28.