본문 바로가기

반응형

전체 글

(59)
"오운완" 앱에 SwiftLint 적용시켜보기 3월부터 7월말까지 진행했던 오운완 프로젝트가 1.0 버전으로 앱스토어에 출시되었다! 이제 만든 앱을 하나씩 수정하면서 더 나은 코드를 고민하고 완성도 높은 앱으로 만들기 위해서 고민하고자 한다. 첫 번째로 적용시킬 것이 바로 "SwiftLint"이다. 왜 SwiftLint를 사용하게 되었나? 물론 처음부터 swiftLint를 사용하려고 했던 것은 아니다. 1명의 다른 iOS 개발자와 함께 코딩 컨벤션을 만들고 그렇게 개발을 진행해왔다. 시간이 지나고 더욱 빠르게 작업을 하기 위해서 서로의 코드를 볼 시간이 없어지고 나 스스로도 개발을 빠르게 하기 위해서 내가 쓴 코드에 대해서 자기 검토도 잘 되지 않았다고 생각한다. 그래서 swiftLint의 도움을 받아서라도 우리들의 규칙을 더 확고히 지키려고 했던 ..
"오운완" 프로젝트 회고 오랜만에 글을 쓰는 것 같다! 그 동안 프로젝트, 동아리, 학업에 치여서 글을 전혀 쓰지 못했다. 그래도 이제 곧 8월이 되는 시점에 나는 1. check it 앱 출시 2. SOPT 32기 iOS 3. 4-2 막 학기 4. 오운완 앱 출시(심사중) 5. 스파클 앱 개발(진행중) 등등 정말 쉬지 않고 달려왔던 것 같다. 그 중에서 오늘은 내가 처음으로 직업 기획하고 개발한 앱인 "오운완"에 대해서 회고를 진행해보려고 한다. 우선 "오운완" 앱은 내가 헬스를 하면서 필요하다고 생각했던 기능들을 한 앱에서 해결하고자 만든 앱이었다. 주요 기능은 1. 오운완 사진 촬영 및 모아보기 기능 2. 몸무게, 골격근량, 체지방량 입력 및 차트로 확인 3. 운동 루틴 만들기 및 루틴 기록 크게는 이렇게 3가지 기능이 있..
19명의 iOS개발자와 8일간 진행한 프로젝트 문제 해결 저번 글에선 해당 프로젝트에 대한 전반적인 회고글을 작성해봤다면 이번에는 프로젝트를 하면서 겪었던 문제들과 해결 과정을 정리해보려고 한다. 1. 로그인 상황을 코드로 봐서 명확하게 알지 못하겠다. (enum 열거형) 이번 프로젝트에서 맡게된 기능 중 하나인 로그인 기능에 대해서 질문이 들어왔다. "여기 로그인 viewModel에서 에러 처리를 어떻게 하고 있나요?" 이러한 질문을 받기 전에는 그저 '내가 작성하는 코드니까, 내가 이해하면 괜찮아'라는 생각으로 최대한 빠르게 코드를 만들 수 있는 방법을 선택했다. 그러다보니 상대방이 내 코드를 궁금해했을 떄, 명확하게 알지 못하는 문제가 발생했다. 우선 기존 코드를 보면 다음과 같다. //view viewModel.loginUser(email: email,..
19명의 iOS개발자와 8일간 진행한 프로젝트 회고 멋쟁이 사자처럼에서 벌써 앱스쿨을 진행한지 3개월이 넘어간다. 시간이 정말 빨리 지나가는 느낌이고 실력도 많이 늘었다.(나 뺴고 다들 잘하는 느낌) 이번 프로젝트는 12월 26일부터 1월 4일까지 약 8일간 진행됐다. 그리고 이번 프로젝트가 특별한 점은 무려 우리팀에 iOS 개발자가 19명이나 있었다는 것이다. 어떤 방식으로 협업을 진행했나? 프로젝트 전체를 관리해주시는 분을 기준으로 어떤 앱을 만들지 정하였고 소비자앱과 관리자앱으로 팀을 나눠 진행을 했다. 소비자앱과 관리자앱도 1분씩 관리해주시는 분이 계셨다. "파이어베이스"를 이용해 멋사만의 세미나를 등록하고 관리하는 소비자, 관리자 앱 2개를 기획했다. "소비자앱"에서는 세미나를 조회(카테고리 분류, 날짜 분류 등)하고 신청, 신청한 세미나에 대해..
DeviceKit 이용해서 기기별 레이아웃 적용 최근 프로젝트를 구상하면서 카메라 화면을 구성해보고 싶다는 생각이 들었습니다. 그런데 카메라는 비율을 보통 4:3 , 16: 9 이렇게 고정된 값으로 많이들 사용하기 때문에 아이폰 기기별 UI의 차이가 컸습니다.. 때문에 이것을 오토레이아웃으로 구현할지, 기기별로 따로 UI를 만들지 고민하다가 이번에 기기별로 따로 대응을 해보고자 했습니다! 그래서 어떻게 해볼 수 있을까 고민을 하다가 좀 더 쉽게 접근을 해보고자 DeviceKit을 사용해봤습니다! https://github.com/devicekit/DeviceKit GitHub - devicekit/DeviceKit: DeviceKit is a value-type replacement of UIDevice. DeviceKit is a value-type..
HIG Components) Progress indicators 이해하기 저번에 "Loading"에 대해서 읽었고 거기에 연관된 Progress indicators를 이어서 읽어보도록 하겠다. 짧으니 가볍게 읽어보는 것도 좋을 것 같다. https://declan.tistory.com/72 HIG Patterns) Loading 이해하기 https://developer.apple.com/design/human-interface-guidelines/patterns/loading Loading - Patterns - Human Interface Guidelines - Design - Apple Developer Loading While content loads, avoid showing a blank or static screen that might make people thin..
HIG Patterns) Loading 이해하기 https://developer.apple.com/design/human-interface-guidelines/patterns/loading Loading - Patterns - Human Interface Guidelines - Design - Apple Developer Loading While content loads, avoid showing a blank or static screen that might make people think your app or game is sluggish or frozen. Best practices Show content as soon as possible. If you make people wait for loading to complete before dis..
HIG(Human Interface GuideLines) 읽어보기 이제부터 애플에서 제공해주는 HIG를 하나씩 읽어보려고 한다! HIG(Human Interface GuideLines)란? 애플 개발자에게 권장 사항을 제공하는 소프트웨어 개발 문서이다. HIG를 제공함으로써 앱 인터페이스를 보다 직관적이고 쉽게 이해하며 일관성있게 만들어 사용자 경험을 향상시키는 것을 목표로 한다 최근 iOS 개발자 공고를 보면 쉽게 HIG에 대한 이해를 요구하는 것을 볼 수 있다. 아무래도 개발만 하는 것이 아닌, 무엇을 어떻게 만드는 것이 좀 더 나은 경험을 줄 수 있는지 스스로 판단해, 협업에 도움을 줄 수 있는 개발자를 원한다고 생각이 들었다. 나 역시 최근 개인 앱을 만들고, 협업을 하며 앱을 기획하는 과정에서 어떻게 화면을 구성해야할지 고민이 많았다. 기존 앱을 많이 참고하며..

반응형