728x90
반응형
- [ iOS ][SwiftUI] 인스타그램 UI 클론 코딩22023-02-06 22:35:04🚫 No ObservableObject of type FeedStore found. A View.environmentObject(_:) for FeedStore may be missing as an ancestor of this view. @EnviromentObject 어노테이션을 사용하면 별도의 초기화 없이 바로 해당 객체를 사용할 수 있다. 그러나 이건 자동으로 생기는 것이 아니라, 어딘가에서 생성(인스턴스) 시켜줘야하는 거다. 해당 뷰의 조상에서 인스턴스를 생성해줘야 한다는 의미 같은데 현재 나는 FeedView에서 데이터를 사용하고 있다. FeedView의 조상은 MainView, MainView의 조상은 InstagramMainView 이다. 따라서 InstagramMainView 에서 인스턴..
- [ iOS ][SwiftUI] 인스타그램 UI 클론 코딩2023-02-03 23:13:30그동안 Swift와 SwiftUI(이하 스유)에 대해 알아보는 시간을 가졌다. 그러나 백문이불여일코...!!! 직접 해보는 것만큼 좋은 공부가 어디 있겠는가? 그래서 일단 스유에 익숙해지기 위해 클론 코딩을 해보기로 했다. 따라서 이 글은 정보성이기 보다는...그냥 내 삽질노트 같은 거다. * 잘못된 정보가 다수 포함되어 있을 수 있음 * 원본 *참고 : 하단의 댓글 달기..부분은 구현하지 않았다. 인스타그램의 모든 화면을 다 만들면 시간이 없으니까 일단 메인화면만 만들어보겠다. 완성본 하단 네비게이션 만들기 스유에서는 TabView로 바텀 네비게이션 뷰를 구현할 수 있다. 각 ChildView 를 먼저 만들고, 각 ChildView를 TabView안에 감싸주면 된다. 아이콘은 그냥 SF Symbols에..
- [ iOS ][iOS] 라이브러리 설치하기2023-01-21 00:41:16iOS 개발을 위한 라이브러리를 설치해보자. 안드할 때는 build.gradle에 추가를 해주면 됐다. 찾아보니 iOS는 CocoaPods를 주로 사용하는 것 같더군 CocoaPods 애플 플랫폼 개발 시, 외부 라이브러리를 관리하기 쉽게 도와주는 의존성 관리 도구 다른 것에는 Carthage, Swift PackageManager 가 있다고 한다. CocoaPods 설치하기 터미널에서 sudo gem install cocoapods 을 입력한다. cocoapods의 버전을 확인하려면 pod --version을 입력하면 된다. 설치가 완료되면 해당 프로젝트로 이동한다. pod init 를 입력하고 실행하면 Podfile이 생기는 것을 확인할 수 있다. 라이브러리 추가하기 Podfile을 열면 다음과 같이..
- [ pinslog/Log.daily() ][etc.] Xcode에 GitHub remote 추가하기 | GitHub access token 발행하기2023-01-18 23:13:02Xcode에 GitHub 계정 추가하기 Xcode Preferences - Accounts - + - GitHub 선택 계정과 GitHub Access Token 을 입력 Github Access Token 발급받기 깃허브 로그인 후 Settings Settings 페이지 하단에 Developer settings 클릭 Personal access tokens 클릭 생성 진행 Xcode에 remote 추가하기 Xcode 네비게이션에서 아래 항목(로컬 체인지) 클릭 - Repositories 새로 레포를 파거나, 이미 있는 레포를 추가하기 Add Existing Remote 를 클릭한 경우 Location에 git 주소를 입력 (Remote Name은 자동으로 생성됐던 것 같다) Xcode에서 push 하기..
- [ Android/Android ][Android] Hilt 적용해보기2023-01-04 22:36:38들어가며 DI (Dependecy Injection)에 대해서는 어느정도 들어보거나 또는 알 것이라고 생각한다. 한번 더 짚고 넘어가자면 의존 관계에 있는 클래스의 객체를 외부로부터 생성하여 주입받는 것을 의미한다. DI, 의존성 주입 컴퓨터를 만들기 위한 클래스를 설계한다고 생각해보자. (getter, setter 및 생성자는 생략한다.) CPU가 필요하고 RAM, 저장장치(ROM)도 필요하겠지? public class Cpu { String name; String company; } Computer 클래스는 이렇게 구성된다고 치자. public class Computer { int ram; int ssd; Cpu cpu; } 이때, Computer는 Cpu 클래스를 의존하고 있다. 의존이란 쉽게 말해..
- [ Do what you want/집단지성의 방 ]집단지성의 방 : 첫번째 방의 문을 닫으며2022-12-29 23:49:17집단지성의 방 : 첫번째 방의 문을 닫으며 안녕하세요. 핀수입니다. 올해 초 처음 개설했던 스터디 집단지성의 방의 송년회를 오늘 랜선으로 개최했습니다. 이렇게까지 진지하게 할 생각은 없었는데..그래도 이왕이면 제대로 해서 이렇게 기록도 남기고, 남긴 기록으로 내년에는 올해를 회상하며 추억에 잠기기 위해 키보드를 잡았습니다. (차례대로 도삼, 루디, 핀수입니다 😎) 집단지성의 방은 올해 초 정보처리기사 자격증을 취득하기 위해 비전공자 같은 학원 출신 셋이 모여 만든 스터디 입니다. 처음에는 단순히 자격증만 딸 생각이었는데...원래 학원에서부터 친하게 지내기도 했고! 다들 생각하는 것도 비슷해 잘 맞았던 도삼, 루디, 핀수는 어쩌다보니 이것저것 해보며 한 해를 보내게 되었습니다. 그렇게 자격증도 따고 알고리..
- [ Do what you want/WW ][Android] locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER) 이 null을 반환할 때2022-12-25 22:29:42상황 날씨앱이다 보니 현재 위치를 받아와야 하는 것은 당연하다. 현재 위치의 좌표를 구하기 위해 LocationManager 클래스의 getLastKnownLocation 메서드를 이용한다. 그런데 해당 메서드가 Location이 아닌 null을 반환하는 바람에 현재 위치도, 현재 주소도 알 수 없어졌다. getLastKnownLocation(provider) Gets the last known location from the given provider, or null if there is no last known location. The returned location may be quite old in some circumstances, so the age of the location should a..
- [ Do what you want/WW ][Android] Bottom Appbar와 FloatingActionButton (feat. Appbar left margin 없애기)2022-12-01 14:06:36제작일지 벌써 붙잡고 있은지 일년이 넘어가는 내 아픈 손가락... 날씨 앱..이다지도 골치 아픈것이었단 말인가 날씨날씨 앱 만드신 분들 정말 존경합니다..너무 잘쓰고 있어요..(갑자기 분위기 영상편지 쉬게 된 김에 반드시 제대로 만들어 출시시키겠다는 목표를 가지고 다시 키보드를 잡았다. 아 개발자가 화면 구성하려니 머리가 다 뽑히는 것 같은데 사실상 이것 때문에 일년 가까이 시간 잡아 먹었다는게 학계의 정설 (해당 카테고리 이전 글을 읽으면 모두 알 수 있는....) 디자인 하시는 분들도 정말..정말 존경합니다. 각설하고 필자는 이런식으로 앱 구성을 하길 원했다. 후자 쪽이 내가 더 원하던 느낌이었는데 이건 바텀 네비게이션은 아닌 것 같고… 도대체 뭘까 하며 뒤져보다 우연히 바텀 앱바와 플로팅 액션 버튼..
728x90
반응형