목록ios (40)
DEV_Larva

Decodable JSON과 같은 외부 representation으로부터 인스턴스를 생성하기 위한 메커니즘을 제공하는 프로토콜 해당 프로토콜을 이용하면 인스턴스를 자동으로 디코딩할 수 있다. EX) - Decodable 사용 구조체 struct User: Decodable { var name: String var age: Int } - JSON 데이터 let json = """ { "name": "nelchupapa", "age": 26 } """.data(using: .utf8)! let decoder = JSONDecoder() let user = try decoder.decode(User.self, from: json) print(user.name) // "nelchupapa" print(user...

오늘은 팀 프로젝트에서 사용할 Chart에 대해서 알아보기 위해 WWDC2022와 공식 문서를 참고하여 공부를 해보았다. 1. Chart란? Swift Charts는 데이터를 시각화로 변환하기 위한 강력한 SwiftUI의 프레임 워크로 사용자 지정 차트를 만들어 보다 쉽게 사용자에게 데이터를 제공할 수 있다. 여기서 각각의 차트의 요소를 Mark라고 부른다. 이미지의 중앙에 있는 막대 차트에서의 각각의 막대 하나하나가 Mark이다. Mark는 데이터를 나타내는 그래픽 요소로 사용된다. 2. 사용법 차트를 사용하기에 앞서 시각화하려는 정보를 PetShape이라는 구조체로 만들어 보자. struct PetShape: Identifiable { var type: String var count: Double v..

오늘은 iOS 애플리케이션에서 정보를 리스트 형태로 보여주기 위해 사용되는 테이블뷰에 대해서 알아보자. 이전에 SwiftUI를 이용하여 아이폰 기본 설정 앱을 섹션과 리스트를 주로 이용하여 클론 코딩해 보면서 이것을 UIKit에 적용하게 되면 어떻게 해야 할지 궁금했었는데 오늘은 이를 위해 Table View를 학습해 보고 정리해 보는 시간을 가져보자. 1. 테이블뷰는 무엇인가? 테이블뷰는 리스트 형태를 가지고 있으며 스크롤이 가능해서 많은 정보를 사용자에게 쉽게 보여 줄 수 있다. 기본적인 형태는 아래와 같다. 하나의 열과 여러 줄의 행을 가지고 있으며 수직으로만 스크롤이 가능하다. 각 행은 하나의 cell에 대응된다.섹션을 이용하여 행을 시각적으로 나눌 수 있다. 헤더 및 푸터에 이미지나 텍스트를 ..

색은 같은 사물이라도 다르게 보이게 하는 신기한 요소라고 생각하고 있다. 최근 퍼스널 컬러와 같이 다양한 서비스를 통해 본인에게 잘 맞는 컬러를 찾아 패션에 영향을 주기도 하였고 집의 분위기 전환을 위해 벽지의 색을 바꿔보기도 한다. 앱에서도 색상은 엄청나게 중요하지 않은 부가적인 요소라고 생각할 수있지다. 하지만 색상은 잘만 사용하면 커뮤니케이션을 강화하고 브랜드를 연상시키기도 한다. 예를 들면 우리나라의 경우 노란색을 생각하면 여러 가지가 있지만 카카오톡이 있을 수도 있고, 초록색을 생각해 보면 네이버가 있듯이 사람들이 정보를 이해하는 데 도움이 될 수 있는 중요한 요소이다. 그래서 HIG가 권고하는 색상에 관련된 모범 사례를 읽어 보면 정리를 해보았다. 개발을 하다보면 시스템 컬러를 많이 사용하곤 ..

이번 시간은 HIG 3번째 시간으로 브랜딩에 대해 한번 알아보자!! 여기서 브랜딩을 사전적 의미로 해석하자면 소비자로 하여금 그 브랜드의 가치를 인지하게 해 브랜드의 충성도와 신뢰를 유지하는 과정이라고 할 수 있다. 그렇다면 앱과 게임에서는 어떻게 설명 할 수 있을까? 플랫폼에서 편안함을 느끼고 사람들에게 일관된 경험을 제공하면서 즉시 알아볼 수 있는 방식으로 고유한 브랜드 아이덴티티를 표현합니다. 사전적 의미와 크게 다르지는 않지만 몇 가지 눈에 띄는 점들은 일관된 경험, 고유한 브랜드 아이덴티티라는 것을 확인할 수 있다. 1. Best practices 귀하가 표시하는 모든 서면 커뮤니케이션에서 브랜드 고유의 목소리와 어조를 사용하십시오. 예를 들어 브랜드는 평범한 단어, 간헐적인 느낌표와 이모티콘,..

새로운 프로젝트에서 구글 로그인이 필요할 것 같아 필요한 기본적인 UI작업과 로그인에 필요한 패키지를 설치하고 구글 공식 문서를 참고해서 작업 중에 있었다. 그런데 웃긴 건 다른 사람들은 오류가 난다는 부분에서는 난 오히려 전혀 문제가 없이 빌드가 되었다. 문제는 다른 사람들이 안 나던 부분에서는 나는 오류가 슬슬 나오기 시작했는데.. 오늘은 그 오류를 해결한 과정을 한번 정리해 보자. 1. 어디서 오류? 내가 오류가 났던 부분은 앱의 클라인언트 ID를 Google 로그인 메서드에 전달하고 Google 인증 토큰에서 Firebase 인증 자격을 만들어 주는 과정에서 발견되었다. 아래쪽 코드에서 정확히 어떤 부분이었는지 확인할 수 있다. guard let clientID = FirebaseApp.app()..