Swift
-
[Swift] 고차함수 map, flatMap, compactMap모바일 앱 개발 2021. 8. 26. 16:37
개요 화면에 표시해줄 데이터는 보통 서버에서 컬렉션 형태로 내려옵니다. 이런 컬렉션 타입내 각각의 값에 필요한 작업을 적용하기 위해 고차함수인 Map을 주로 사용하는데 Swift에서 제공하는 map의 종류가 3가지라서 종종 헷갈립니다. 이번에 확실하게 정리 해봅니다. map 다른 언어세도 통용되는 map과 같은 개념으로, 배열과 같은 콜렉션 타입의 각 요소에 접근해서 원하는 작업을 수행한 결과를 다시 반환합니다. let arrayOfIntegers = [1, 2, 3, 4] let arrayOfStrings = arrayOfIntegers.map { String($0) } print(arrayOfStrings) // Prints ["1", "2", "3", "4"] compactMap Swift는 다른 ..
-
iOS - 미세먼지 정보 제공앱Project 2020. 5. 4. 01:29
1. 개발 배경 API통신, 코드를 이용한 UI개발 방법을 숙달하기 위해서 제작하게된 앱 화면 구성이 심플하면서도 유용하고, API 통신이 들어간 것을 조사하다보니 미세먼지 정보 제공앱을 선택하게 됐다. 요즘 같은 시대에 유용하기도 하고 자료가 많아서 조사도 수월했다. 미세먼지 정보는 환경공단의 API를 이용해 제작했고, 미리 구성한 레이아웃과 최대한 유사하게 개발했다. 문서화도 잘되어있는 편이고, 공식문서를 잘 정리한 블로그도 많았다. 관련앱을 만드실 분이라면 추천! https://www.data.go.kr/data/15000581/openapi.do 공공데이터 포털 국가에서 보유하고 있는 다양한 데이터를『공공데이터의 제공 및 이용 활성화에 관한 법률(제11956호)』에 따라 개방하여 국민들이 보다 쉽..
-
iOS - 브랜드별 커피 메뉴판 앱Project 2020. 4. 6. 12:26
1. 개발 배경 대부분의 서비스에서 사용하는 주요 기능들을 구현하는 것을 목표로 진행한 프로젝트. CRUD, 회원가입, 로그인/로그아웃, 계정 관리 직장에서 팀단위로 카페를 가다보면 자리에 없는 사람을 위해 메뉴판을 찍어서 보내곤했는데 사진 찍을 필요 없이 유명브랜드들의 메뉴판 자체를 보여주고 후기도 보여주면 메뉴선택에 도움을 주겠다 싶어서 만들어봤다. 서비스에 필요한 데이터는 이번에도 크롤링을 통해 각 브랜드 홈페이지에 있는 내용을 확보해서 개발했다. 2. 개발 환경 언어 : Swift, Python 사용한 패키지(Swift) : Firebase/Firestore, Firebase/Auth, SideMenu, Toast-Swif 사용한 패키지(Python) : Selenium 3. 주요 기능 : 주요..
-
iOS - 해결의 책 feat.구글 애드몹Project 2020. 3. 9. 13:22
1. 개발 배경 iOS앱 배포를 위해 필요한 개발자 계정 생성에 $100의 거금이 필요하다. ㅠㅠ 개인 프로젝트를 연습삼아 배포 해본다고 해도 꽤 부담되는 금액이라 조금이라도 수익을 낼 수 있는 광고API 연동이 필요하다고 생각했고, 많이들 쓰는 구글 애드몹을 연동해보는 것을 목표로 개발을 시작했다. 스마트폰이 처음 나오기 시작했던 시절 유행했던 해결의 책을 오마쥬해서 페이지를 넘기면 조언을 확인할 수 있도록했다. 구글 애드몹을 연동 해보는게 가장 큰 목표였기 때문에 로컬앱으로 간단하게 구현 완료! 2. 개발 환경 언어 : Swift 사용한 패키지(Swift) : Google-Mobile-Ads-SDK 3. 주요 기능 1) 제스처를 인식해 화면을 왼쪽으로 넘기면 조언 문구 확인 2) 조언 문구 하단에 ..
-
Swift - iOS앱 구글애드몹 광고 연동 방법모바일 앱 개발 2020. 3. 9. 00:51
iOS앱에 구글애드몹을 연동하고, 구현하는 방법을 간략하게 소개합니다. 처음 연동하면서 막혔던 부분 위주로 정리했으며, 초보라... 공식문서를 토대로 기능 구현에 초점을 둔 코드입니다. 일반적으로 많이 사용한다고 느꼈던 배너 광고, 전면 광고 2가지를 구현 해보겠습니다. 대략적인 개념은 다음과 같고, 자세한 내용은 하이퍼링크를 통해 구글 공식 문서 참고 바랍니다. 배너 광고 : 무료 앱에서 가장 자주보이는 광고 형태, 화면 하단에 광고 상시 노출 전면 광고 : 화면 전체를 덮는 광고, 주로 특정 조건 도달시 화면을 전환하면서 노출됨 애드몹 구현은 크게 세 단계로 같이 진행됩니다. 애드몹 프로젝트 생성과 키 발급 Xcode프로젝트와 구글애드몹 프로젝트 연동 코드 구현 1. 애드몹 프로젝트 생성 코드 작성 ..
-
iOS - 주요 음원 챠트 순위 비교 앱 (멜론,벅스,지니)Project 2020. 3. 4. 12:16
1. 개발 배경 간단한 로컬 앱을 몇개 만든 이후에 네트워크를 이용한 앱을 만들어보고 싶었다. 아이디어를 고민 하던 중 최근 음원 사재기에 대한 이슈가 많아서 유명 음원사이트들의 랭킹을 한번에 비교 해보면 소비자 입장에서 좀 더 올바른 판단을 할 수 있을 것다는 생각에 개발을 시작했다. 전반적인 구조는 아래와 같고 AWS에 대한 지식이 적어 초반 셋팅에 시간을 많이 소모했다. : 파이썬 크롤링 스크립트 수행 -> Firebase에 크롤링 결과 DB형태로 저장 -> iOS TableView를 통해 DB내용 출력 : AWS EC2 인스턴스에서 크롤링 스크립트를 정기적으로 수행 2. 개발 환경 언어 : Swift, Python 사용한 패키지(Swift) : Toast_Swift, FirebaseFiresto..
-
iOS - 명언과 함께하는 to-do list 앱Project 2019. 12. 23. 11:15
1. 개발 배경 realm과 firebase에 익숙해지기 위해 간단한 앱을 하나 더 만들게됐다. realm 공식문서에도 있는 to-do list를 참고해서 만들고, 몇가지 기능을 더 추가해서 완성했다. 완료된 to-do만 따로 볼 수 있는 뷰 생성 to-do 추가시 firebase DB에 저장되어있는 명언 중 1개 출력 기본적인 구조를 잡고 사용하는데는 익숙해져서 이제 좀 큰 단위의 앱을 제작 해야겠다. (뷰 5개 이상) 2. 개발 환경 언어 : swift 사용 기술 : RealmSwift, Toast_Swift, Firebase 3. 주요 기능 https://www.youtube.com/watch?v=MZ5YqLMqvlo TextField를 통한 to-do 생성 기능 : 입력된 내용이 없을 경우, 생..
-
iOS - 계산내역이 기록되는 계산기앱Project 2019. 12. 9. 22:51
1. 개발 배경 온라인 강의를 보면서 iOS프로젝트를 몇개 만들고 나니 아주 조금 감을 익혔고, 내가 직접 만들어보고 싶어졌다. 처음부터 좌절하면 안되니.. 간단한 앱부터 만들려고 구상하던 중 계산 내역을 볼 수 있는 계산기를 개발하게 됐다. iOS 기본계산기는 심플하고 보기 좋긴한데 계산 내역을 다시 볼 수 있는 기능이 없어서 불편했던 참이라 relam을 이용해서 계산 내역을 볼 수 있도록 기능을 구현했다. 나름 어도비XD로 프로토타입도 짜고 진행해봤는데 최종 결과물은 좀 더 밝은 톤으로 변경됐다. 2. 개발 환경 언어 : swift 사용한 패키지 : RealmSwift, Toast_Swift 배포 : 하지 않음(애플 개발자 라이센스 너무 비싸다...) 3. 주요 기능 기본 수학 연산 : 덧셈, 뺄셈..