본문 바로가기

swift83

APNs에 대해서 알아보기! iOS app에서 push notification을 사용하기 위해서는 APNs를 사용해야 합니다. APNs는 Apple Push Notification service의 약자로 애플에서 푸쉬 알림을 위해 사용하는 API입니다. APNs는 Push Server와 Application 사이에서 token 검증을 하는 중간다리 역할을 합니다. Push Server는 필요에 따라 직접 구축하기도 하지만 편리함을 위해서 Firebase, Braze등의 서비스를 사용하기도 합니다. 어떤 종류던지 Push Server들은 곧바로 app에 push notification을 보낼 수 있는 것이 아닙니다. APNs에 보낸 다음 APNs에서 인증을 한 이후에 app에 push를 보냅니다. 전체적인 흐름은 아래 그림과 같습니다.. 2023. 1. 5.
iOS Device resolution https://www.ios-resolution.com/ iOS Resolution // Display properties of every iPhone, iPad and iPod touch Apple ever made Last Updates: 2022-10-23 Added new iPad models. 2022-09-30 Added iPhone 14 models. 2022-10-11 Fixed sizes for 6 Plus/6s Plus/7 Plus. All devices 78 iPhones 38 iPads 33 iPods touch 7 Family & Model Logical Width Logical Height Physical Width Physical Height www.ios-resolution... 2023. 1. 4.
Apple 인증서 종류 1) .p8 p8 key는 public key에 해당하는 파일로, 해당 키 파일 하나로 여러 앱에서 사용할 수 있습니다. APNs 메세지의 JWT 서명 시 사용이 됩니다. 파일 자체는 텍스트 파일이고 key는 PEM* 포맷입니다. 갱신이 따로 필요 없습니다. 2) .p12 p12 key는 private key에 해당하는 파일로 매 프로젝트마다 다른 key가 생성됩니다. 1년 마다 갱신이 필요합니다. 🏷 PEM(Privacy-Enhanced Mail): 직역하면 프라이버시가 강화된 메일. 1993 IETF 표준 세트를 기반으로 암호화 키, 인증서 및 기타 데이터를 저장하고 보내기 위한 사실상의 파일 형식 🏷 SSL(Security Socket Layer): 인터넷 연결 시 보안을 유지해주고 민감한 정보를 .. 2023. 1. 4.
Status bar 색상 변경하기! Status bar는 화면 상단에 시간과 배터리양, 와이파이 등 아이콘이 표시되어 있는 부분을 지칭합니다. 현재는 검정색으로 되어 있는데, 하얀색으로 바꾸어 보려고 합니다. 먼저 General > Deployment Info > Status Bar Style에서 원하는 옵션으로 변경해주면 됩니다. Default로 되어 있는데, 저는 흰색으로 바꾸고 싶어서 드롭다운에서 White을 골라 변경해주었습니다. 그리고 Info.plist에서 View controller-based status bar appearance를 NO로 지정해주면 됩니다. 제 프로젝트에서는 해당 key가 아예 없었기 때문에 직접 추가해주었습니다. 이미 해당 키가 있는 경우라면 값이 NO로 되어 있는지 확인해 주시면 됩니다. 이렇게 두 가지.. 2023. 1. 1.
storyboard 없이 navigationItem 사용하기 storyboard를 사용하지 않으면 main 파일 자체를 삭제하기도 합니다. 그런 경우 viewcontroller에서 navigationItem을 사용하고 싶다면 SeceneDelegate (혹은 AppDelegate)에서 어떻게 rootViewController를 설정해야 하는지 알아보겠습니다. Navigation Item을 사용할 일이 없는 경우는 보통 아래처럼 rootViewController를 설정하게 됩니다. func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) { guard let windowScene = (scene as? UI.. 2022. 12. 22.
lottie-ios dataCorrupted error Lottie를 cocoapod를 이용해서 설치하고 사용하려는데, 특정 json 파일 parsing 시에 dataCorrupted error 가 발생했습니다. Swift.DecodingError.Context Cannot initialize TextJustification from invalid Int value 6... 대략 이런 종류의 에러였습니다. 에러 코드를 검색해봐도 시원한 답변이 나오지 않아서 고민하던 차에, version을 낮추어 보라는 이야기를 보게되었습니다. Lottie 설치 당시에는 3.2.3 버전으로 설치가 되었던 것을 2.5.3으로 낮추어 주었더니 해결이 되었습니다. JSON 자체를 수정할 수도 있다지만, 너무 방대한 데이터이기도 하고 어떤 부분을 어떻게 고쳐야할 지 몰라서 그냥 버전.. 2022. 12. 8.
반응형