본문 바로가기

ios7

[iOS] Xcode13에서 디버깅하기 본 글은 애플이 WWDC21에서 발표한 'Discover breakpoint improvements' 영상을 참고/번역하여 만들었습니다. 프로그램을 만들 때 문제가 생기면 디버깅을 통해 문제를 찾아내고 해결한다. Xcode13에서 새롭게 등장한 디버깅 기능들이 몇 가지 있는데, 이를 살펴보자. 1. Source file breakpoints 단일 파일에서 실행되는 breakpoint이며, 가장 보편적인 형태는 line breakpoint이다. line breakpoint를 원하는 코드에 걸면 다음과 같이 행 번호에 파란색으로 표시된다. 그러나 line breakpoint의 경우, 내가 원하는 함수를 확인하고 싶어도 먼저 실행되어야 하는 코드가 있다면 내가 원하는 함수가 실행되기까지 많은 시간이 걸릴 수 .. 2021. 10. 9.
[iOS] iOS15에서 새로워진 UIKit button 알아보기 본 글은 애플이 WWDC21에서 발표한 'Meet the UIKit button system' 영상을 참고/번역하여 만들었습니다. 올해 새롭게 업데이트된 iOS15 버전에서는 앱을 개발할 때 사용하는 버튼의 옵션이 다양해졌다. 우선 이제 기본적으로 위 네가지의 basic 스타일을 제공한다. 기본 제공 스타일을 제외하고, iOS15에서 업데이트 된 버튼의 내용들을 살펴보자. 1. Button configuration 새롭게 등장한 UIButtonConfiguration이다. 버튼의 모습과 버튼 안의 내용을 개발자 입맛대로 바꿀 수 있다. 위 화면의 Sign In 버튼과 Create Account 버튼을 만드는 코드는 다음과 같다. 하지만 위 두 버튼은 매우 중요한 버튼이기에, UIButtonConfigur.. 2021. 10. 3.
[iOS]Localization을 위한 layout 구성 방법 (Xcode의 유용한 툴들 사용하기) 본 글은 애플이 WWDC20에서 발표한 'Build Localiztion-Friendly Layout Using Xcode' 영상을 참고/번역하여 만들었습니다. Xcode를 활용한 localization을 하기에 앞서 가장 먼저 앱을 localization-friendly 하게 만들기 위해 따라야 할 몇 가지 디자인 패턴들을 살펴보자. 이 디자인 패턴들은 내가 어떤 플랫폼을(iOS, macOS 등) 개발하든, 혹은 매뉴얼 레이아웃과 오토 레이아웃, 또는 SwiftUI를 이용하든 상관없이 모든 것들에게 해당된다. 애플은 총 네 가지 디자인 패턴을 강조한다. 1. Avoid fixed widths or frames 첫번째는 고정된 길이와 프레임을 피하는 것이다. 이는 매뉴얼 레이아웃에서 sizeToFit을 .. 2021. 9. 23.
내가 개발한 앱에 구독 서비스를 '잘' 적용하기 위한 전략 요즘 전 세계의 사람들은 구독 서비스에 둘러싸여 살아가고 있다고 해도 과언이 아닐 정도로 다양한 구독 서비스 속에서 살고 있다. 꽃, 화장품, 도서 등의 실물뿐 아니라 수많은 앱 속에서도 특정 소프트웨어 기능을 사용하기 위한 구독 서비스 또한 성행 중이다. 2016년에 1.3억 달러였던 iOS 앱의 구독 서비스 수익은 2020년엔 4.5억 달러에 달하고 있다. 특히 사람들이 안드로이드 앱에 비해 iOS 앱에서 눈에 띄게 많은 돈을 구독 서비스에 사용하고 있음을 확인할 수 있다. 애플에서는 2017년부터 인 앱 구매(In-App Purchase)를 위한 StoreKit의 사용 방법과 구독 서비스에 대한 가이드라인을 담은 다양한 영상들을 제공하고 있다. 그 중 2020년에 공개된 'Designing for .. 2021. 9. 15.
Xcode 에러 (Mach error -308) (Xcode 깨끗한 삭제) Xcode 11.7 과 12.1 버전을 모두 다운 받아 사용하던 도중에 시뮬레이터 실행 시 'Mach error -308' 라는 오류가 발생하였습니다. 구글링을 열심해 해봤지만 외국에도 정보 자체가 많지 않고, 그마저 있는 정보로도 해결되지 않아 아예 Xcode를 깨끗하게 삭제 후 12.1 버전만 다운 받아 실행하니 정상적으로 실행되었습니다. Xcode를 단순히 런치패드의 앱만 삭제하는 것이 아니라 모든 데이터를 삭제하려면 다음과 같은 경로의 데이터를 찾아 없애야 합니다. /Applications/Xcode.app /Library/Preferences/com.apple.dt.Xcode.plist /Library/Caches/com.apple.dt.Xcode /Library/Application Suppo.. 2020. 11. 5.
2020 NAVER TECH CONCERT 후기 이번 2020 네이버 테크 콘서트는 코로나의 여파로 온라인으로 이루어졌습니다. 그 중 iOS 세션 발표 내용을 간략하게 정리해보았습니다. 신입 개발자 개발 업무 적응기 by 김상민 기술 면접 시 포기하지 말고 막힌 부분에 관해 면접관들과 대화해라. 프로젝트에 폴더가 너무 다양해 구조를 알기 어렵다면 view debugging을 통해 프로젝트 구조를 파악할 수 있다. 질문하기 전에 미리 정리해보아라 시도해봤던 방법들과 실패했던 내용들을 간단히 공유하라 성능을 고민하는 슬기로운 개발자 생활 by 장수한 코드를 단순히 줄이고 깔끔하게 정리하는 것이 좋은 것은 아니다. 개발자가 반드시 고려해야 할 사항 1. 구현된 로직이 동작할 환경은 어떤가 2. 적절하게 자료구조가 사용되었는가 3. 작성된 로직의 복잡도는 어.. 2020. 10. 8.