Tagged

Development

A collection of 17 posts

좀 더 나은 Collection View 를 위하여 - Diffable Data Source, Compositional Layout
Development

좀 더 나은 Collection View 를 위하여 - Diffable Data Source, Compositional Layout

OverviewUICollectionView 에 최근 새로운 기능들이 추가되고 WWDC에서도 소개가 되고 있지만  국내에서는 그렇게 많이 알려지지 않고 있는 것 같다. 개인적인 관심이 부족했던 것일지도 모르겠지만 😅 한국어로 된 문서가 그렇게 많은 것 같지 않아 소개를 해보고자 한다. 이번에 소개하는 내용들은 iOS 13 또는 14 이상의 디바이스에서만 지원하는 기능이라 바로 사용하기는 쉽지 않겠지만, 알아두면

Apple

iOS의 다크모드 - (2) 구현

저번 글에서는 다크 모드를 적용해야 하는 이유에 대하여 설명했다면, 이번에는 실제로 배포 중인 앱에 다크 모드를 적용하면서 사용했던 여러가지 기능들에 대한 이야기를 해 보려고 합니다. Color AssetsXcode 에서 제공하는 Asset 파일인 .xcassets 에는 생각보다 여러 종류의 데이터를 저장할 수 있습니다. 그 중 Color 데이터를 Asset 파일에 저장하면 다크 모드 대응을

TIL: Catalina 에서 Python 스크립트 편하게 쓰기
Development

TIL: Catalina 에서 Python 스크립트 편하게 쓰기

제가 현재 몸담고 있는 회사인 원티드랩에서는 Lokalise 라는 번역 지원 Tool 을 사용하고 있습니다. 이 Tool 은 자체 API를 통해 각 환경에 맞는 Resource 파일을 받을 수 있도록 해 주는데, 저희는 빌드 전에 자동화 스크립트를 사용하여 Resource 파일들을 제 위치에 받아주는 작업을 하고 있습니다. 문제 발생그런데 최근 macOS Catalina 로

TIL: UIImageView와 Tint Color, 그리고 XIB
iOS

TIL: UIImageView와 Tint Color, 그리고 XIB

오늘은 최근 일을 하면서 겪게 된 버그 하나를 이야기 해보자 합니다. UIImageView 와 Tint Color, 그리고 XIB가 힘을 합쳐 한 개발자를 혼란에 빠트린 버그 이야기입니다. Photo by pine watt / UnsplashUIImage Class 에는 Rendering Mode 라는 속성이 있습니다. 이 속성은 iOS 7 이후부터 사용할 수 있으며, 이미지를 렌더링 하는 방법을 정의하는

Development

iOS의 다크모드 - (1) 배경

애플이 이번 WWDC 2019에서 iOS 13을 발표하면서 전면에 내세운 기능은 다크 모드. macOS Mojave에서 처음 선보였던 다크 모드를 iOS 13에 도입하는 것을 발표하면서 많은 박수를 받았다. 발표 당시에 공개했던 영상을 보고 가자. 애플의 기술 선택최근의 애플은 어느 정도의 성숙기를 거친 기술만 제품에 적용을 하고 있는 것으로 보인다. 초기 애플의 아이폰과는

Carthage 의존성 이슈 관리하기
Development

Carthage 의존성 이슈 관리하기

iOS 개발을 하면서 가장 많이 접하게 되는 CLI Tool은 Package Manager가 아닐까 싶다. 개인적으로 지금까지 주로 사용하던 패키지 매니저는 CocoaPods 이었는데 새로운 회사로 이직을 하면서 본격적으로 Carthage를 사용하게 되었다. Carthage를 사용하면서 겪었던 몇가지 이슈에 대하여 공유를 해보고자 한다. Carthage 의 특성카르타고의 Github 페이지에 나온 첫 설명문은 아래와 같다. Carthage is

iOS

TIL: Objective-C 와 Swift 간 Property Type 호환 문제

Swift 가 발표된지 x년이 지났다. 지금까지 Objective-C (이하 ObjC) 를 사용하고 있던 회사들이 “이제 우리도 Swift 써볼까?” 라는 생각을 많이 할 것이다. 우리 회사도 같은 생각을 한 사람이 있었고 (…) 그 결과 현재 작업 환경은 ObjC 와 Swift 가 공존하는 형태가 되었다. 물론 기존 코드들을 ObjC 에서 Swift 로 변환할 수

iOS 개발 도우미, Fastlane을 간단히 써봤다.
iOS

iOS 개발 도우미, Fastlane을 간단히 써봤다.

지난 2주간 테스트를 짜봤으니 이제 이걸 어떻게 써먹을지 고민해봤다. 테스트가 잘 되면 이제 CI 같은걸 고민 할 수 있을 것 같다. 하지만 iOS의 경우 배포도 그렇고 CI 서버가 Mac 이어야 해서 외부 서비스를 사용하기에는 너무 비쌌다. 그래서 고민을 좀 하다가 Fastlane 을 제대로 써보자는 생각으로 사용해봤다. 엄밀히 말하자면 테스트 시리즈에는

아, 나도 테스트 코드 짠다! - (2) Xcode UI 테스트 작성
iOS

아, 나도 테스트 코드 짠다! - (2) Xcode UI 테스트 작성

프론트엔드 또는 앱 개발을 할때는 사용자의 입력을 받게 되는데, 사용자의 입력이 제대로 처리 되는지를 테스트를 하기 위해 UI 테스트를 하게 된다. 이 테스트는 사람이 할 수도 있지만, 매번 업데이트 될 때마다 같은 기능을 사람이 직접 테스트 하는건 시간 낭비일 경우가 많다. 시간 낭비는 개발자의 도리가 아니기에, 이런 테스트를 기계가 할

아, 나도 테스트 코드 짠다! - (1) XCTest를 이용한 테스트 코드 작성
iOS

아, 나도 테스트 코드 짠다! - (1) XCTest를 이용한 테스트 코드 작성

개발을 업으로 삼은지 7년차가 되는 시점이지만, 테스트 코드를 한 번도 작성해보지 못한건 반성해야 할 부분일지도 모르겠다. 일정에 치여서 테스트 코드 같은건 엄두도 못냈고, 거쳐온 회사들은 테스트 코드를 제대로 작성하고 있는 곳이 없었다. 명언 제조기 박명수옹 (47세) 그러다 마침 일정이 비는 시기가 찾아왔고 팀 내부에서도 테스트 코드의 중요성이 언급되기 시작했다. 실제로

iOS 자동 갱신 구독 기능 구현에 대한 회고 - (2) 앱 심사 리젝
Development

iOS 자동 갱신 구독 기능 구현에 대한 회고 - (2) 앱 심사 리젝

이번 업데이트 진행중에 총 세번의 리젝을 당했는데, 대부분이 개발자가 생각하지 않았을 이슈들이었다. 처음 자동 갱신 구독 기능을 넣기로 했다면 아래 사항들을 잘 따져보는게 좋을것이다. 어이없는 실수 리뷰 요청을 올린 다음날은 토요일이었다. 나는 내가 속해 있는 커뮤니티의 컨퍼런스에 참여하기 위해 이동하고 있던 중이었다. 그러다 아무 생각 없이 업무 메일을 열어 봤는데,

iOS 자동 갱신 구독 기능 구현에 대한 회고 - (1) 시작
Development

iOS 자동 갱신 구독 기능 구현에 대한 회고 - (1) 시작

애플 앱스토어에서는 사용자의 최초 확인 한번으로 매달 결제가 이루어지게 하는 자동 갱신 구독 (Auto-Renewable Subscription) 기능을 지원한다. 이 기능은 본래 잡지나 서적에 해당하는 앱에만 적용되었지만, WWDC 2016을 기점으로 모든 앱에서 사용 가능하도록 바뀌었다. 이 기능은 개발사에게 매우 유리한 구매 형식인데, 사용자가 1년 이상 정기구독을 유지할 경우 애플에서 가져가는 수수료가 30%

iOS 9 버전에서 유니버셜 링크로 앱 실행이 안될때
iOS

iOS 9 버전에서 유니버셜 링크로 앱 실행이 안될때

** 2017. 10. 24 - 다른 사례에 대한 내용이 추가되었습니다* 유니버셜 링크는 특정한 페이지 주소를 클릭했을때 앱에서 해당 컨텐츠를 볼 수 있도록 만들어진 특수한 딥링크입니다. 애플이 이 유니버셜 링크라는 기능을 선보인건 iOS 9 버전부터 였습니다. 뭐, 물론 애플이 새로 내놓은 기능들이 바로 제대로 동작하는걸 기대하는건 희망사항일 뿐입니다. 저희 회사에서도 유니버셜 링크를

Development

서비스를 내리면서

지난 12월부터 회사에서 기획하고 서버를 만들고 운영해왔던 서비스가 오늘부로 서비스 종료되었다. 수익부진으로 인한 폐업. 당시 10명이었던 회사에서 하나둘 사람들이 떠나가면서 7명만이 끝까지 남았다. 어떻게든 서비스를 굴려보고 싶었지만, 지금이 회사를 접기 참 좋은 때라는걸 사장님도 알고 계셨던 모양이다. 뭔가를 열심히 만들어서 사람들이 좋아해주면 나는 그걸로 즐거움을 느낀다. 하지만 이런 일은 아직

라즈베리 파이 2 세팅 삽질기
Hello world

라즈베리 파이 2 세팅 삽질기

라즈베리 파이가 나온지 5년이 지났다. 저런 작은걸로 뭘 하겠냐 하는 사람도 많았지만 꾸준히 사랑을 받았고, 최근에는 성능이 개선된 새로운 모델도 출시되었다. 개인적으로 예전부터 궁금했던 물건이었는데 기회가 닿지 않아 만져볼 기회가 없었다. 구입 그러다 마침 지인발 공동구매를 통해 SD 카드와 방열판까지 함께 저렴한 가격에 입수했다. 배송비 제외 4만원. 상당히 저렴한 금액으로

인앱 결제 검증을 해보자 - Google Play (1)
Development

인앱 결제 검증을 해보자 - Google Play (1)

요즘 잘 팔린다는 앱들은 거의 무료 다운로드 후 인앱결제를 유도하고 있다. 솔직히 한 사람의 게이머로서 이런 트렌드가 반갑지만은 않지만 어쩔수 있겠나. 매출이 잘 나온다는건 사실인데. 그리고 인앱 결제를 달면 앱 해킹에 따른 매출 하락을 막을수도 있고. 하지만 인앱 결제를 단다고 해도 결제 우회를 통해 공짜로 게임을 하려는 사람은 항상 있기