iOS

사내 클라이언트 개발자 행사, LINE Client Day 2021 후기

안녕하세요. LINE 클라이언트 개발자 신윤권, 김윤재입니다. 저희는 지난 10월 27일과 28일, 양일간 LINE Platform Engineering 1 센터에서 사내 기술 공유 행사로 개최한 ‘LINE Client Day 2021’를 진행했습니다. 먼저 행사에서 다양한 주제를 공유해 주신 발표자분들과 행사에 참여해 주신 분들께 다시 한 번 진심으로 감사드립니다. 이번 글에선 LINE Client Day 2021 행사에서 발표됐던 주제와 참가자들의 소감, 그리고 사내 행사를 진행하면서 저희가 느꼈던 점을 공유하겠습니다.

Swift Concurrency에 대해서

안녕하세요. iOS Platform Dev 팀의 김윤재입니다. 앱의 성능 향상을 위해서는 알맞은 동시성 코드를 작성해야 합니다. 온보딩 스터디에서는 기존에 Swift에서 동시성 코드를 작성할 때 주로 사용하는 GCD(Grand Central Dispatch)를 어떻게 사용하는지, 내부 구현은 어떻게 되어있는지 자세히 공부해 볼 수 있었습니다. 또한 온보딩 스터디와 별개로 LINE 내 iOS 개발자들끼리 진행한 WWDC 2021 스터디에서는 새로 소개된 Swift Concurrency에 대해서 발표를 했는데요. 이 두 스터디를 통해 기존의 GCD와 새로 도입될 Swift Concurrency에 대해 비교하면서 공부해 볼 수 있었고, 둘의 차이점을 알 수 있었습니다. 이번 포스팅에서는 제가 스터디를 통해 알게 된 GCD와 Swift Concurrency를 비교해 보고자 합니다.

Swift 타입 시스템 탐험기

안녕하세요. 김유진입니다. 이번 글에서는 Swift의 제네릭스와 프로토콜 타입, opaque result 타입이 어떻게 맞물려 코드 재사용 문제를 풀어 나가고 있는지 살펴보고, 타입 시스템이 앞으로 나아갈 방향을 소개하겠습니다.

두 달간의 온보딩 스터디, LINE iOS 신입 개발자 적응기

안녕하세요. LINE 신입 iOS 개발자 김유진, 김윤재입니다. 저희는 세 편의 시리즈 글을 통해 어떻게 재택근무 환경에서 신입 iOS 개발자 스터디를 진행했는지, 스터디에서 어떤 내용을 배웠는지 공유하려고 합니다.

LINE 메신저 앱의 공유 모듈 통합 개발기 – 2

지난 1편에서 저희가 LINE iOS 공유 기능 모듈을 개발하면서 겪었던 어려움과 이를 해결해나간 방법을 아래 여섯 가지로 나눈 뒤 그중 앞선 두 가지를 먼저 말씀드렸는데요.

이번 글에서 나머지 네 가지를 말씀드리며 공유 모듈을 사용하는 LINE 내 여러 서비스의 다양한 요구 사항을 만족하면서 유지 보수가 편하고 확장 가능한 구조로 구현하기 위해 저희가 어떤 고민을 했는지 이야기하겠습니다.

LINE Free Call에 iOS 다크 모드 적용하기

사용자가 다크 모드를 선택하면 Apple에서 제공하는 기본 앱은 자동으로 색상이 변경되지만, 서드 파티 앱에서는 다크 모드를 지원하기 위해 추가적인 작업을 해주어야만 합니다. 이번 글에서는 LINE Free Call에서 다크 모드를 지원하기 위해 했던 작업과 소소한 팁에 대해 소개해드리고자 합니다.

iOS 코드 서명에 대해서

안녕하세요. LINE에서 AIR ARMOR 개발을 담당하고 있는 심민영입니다. AIR ARMOR는 LINE GAME PLATFORM 중 하나인 AIR를 구성하는 보안 솔루션 중 하나입니다.

이전 포스팅, ‘AIR GO에 안드로이드 9 APK 서명 scheme v3 적용하기‘에서는 승훈 님이 Android의 서명 구조인 APK Signing에 대해 설명드렸는데요. 저는 이번 포스팅에서 iOS의 보안 구조 중 하나인 ‘코드 서명’에 대해서 설명하려고 합니다. 코드 서명은 파일의 무결성을 검증하고 서명자(개발자)를 확인하는 역할을 합니다. Mach-O 형식의 iOS 바이너리 파일의 무결성을 검증하고 서명자를 확인하는 작업엔 뒤에서 설명할 ‘code signature 구조체’를 이용합니다. 그럼 우선 iOS 코드 서명이 무엇인지부터 먼저 말씀드리겠습니다.