728x90
SwiftUI로 Video Player 만들기 - UIViewRepresentable
·
개발노트/iOS
SwiftUI를 사용하다보면 가끔.. 가끔 한번씩 UIKit이 그리워질 때가 있다.(e.g. 도대체 ScrollView bounce 없앨 수 있는 옵션은 왜 지원 안 하는 거야) 이런 걸 염두에 둔 건지 UIViewRepresentable 프로토콜을 구현하면 SwiftUI에서도 UIKit의 요소를 사용할 수 있는데,,'스유도 낯선데.. 너란 놈 더 낯설다..''SwiftUI를 쓰면서 UIKit을 끌고 오는 건 Swift 쓰면서 Objective-C 끌고 오는 느낌 아닌가?''웬만하면 스유 울타리에서 해결하는 게 좋은거 아닌가?'라는 생각으로 그동안 크게 눈여겨보진 않았다.하지만.. 그래도 써야만 하는 순간이 있다.. 바로지금 롸잇나우 그런데 막상 사용해보니 UIKit이랑 크게 다를 것도 없고 그렇다고 스..
SwiftUI와 MVI (2)
·
개발노트/iOS
SwiftUI와 MVI (1)SwiftUI는 항상 써보고 싶다고 생각하고 있었는데 최근에 기회가 되어 사용해볼 수 있게 됐다.Swift만 쓰다가 처음 스유 깔짝거렸을 때는 도대체 이게 뭔 코드인가 했는데, 같은 선언형인 Flutter를jecklight.tistory.com이론 공부만 해두고 나중에 막상 사용하려고 하면 또 어버버하며 다시 첨부터 검색하는 도돌이표 될까봐 실습 빠르게 도전! REST API로 간단하게 데이터 조회해서 뿌려주는 형태의 페이지 하나만 만들어보려고 한다.보니까 JSONPlaceholder 라고, 이런 목적으로 사용하기 좋은 게 있더라bb  1. 그보다 우선 먼저 TCA란?저번에 공부하다가 Reducer가 튀어나오는 바람에.. 얘도 우선 용어 뜻, 구성 정도만 살펴보고 가려 한다...
SwiftUI와 MVI (1)
·
개발노트/iOS
SwiftUI는 항상 써보고 싶다고 생각하고 있었는데 최근에 기회가 되어 사용해볼 수 있게 됐다.Swift만 쓰다가 처음 스유 깔짝거렸을 때는 도대체 이게 뭔 코드인가 했는데, 같은 선언형인 Flutter를 써보고 다시 사용해보니 꽤 적응이 쉽다. Preview 캔버스 짱 조음b버튼 활성/비활성화도 observer 붙이고 ui update 함수 구현해주고 했는데 넘나리 간편쓰>넘나리 간편쓰그렇다.. 너무 간편했다..이것만으로도 너무 간편한데 MVVM 패턴은 어떤 모양으로 분리해서 구현하는지가 궁금해졌다그래서 구글링해보니.. 요는 스유에서는 View가 이미 ViewModel의 데이터 바인딩 역할을 수행하고 있으며,MVVM 형태를 지키기 위해서 억지로 ViewModel을 만드는 상황이 발생한다는 것 같다 아..
iOS 개발자의 JavaScripit 공부 (1. 파일 구조, 변수 키워드, object)
·
개발노트/JavaScripit
React를 배우고 싶은데 JavaScript도 잘 모르기 때문에 이거부터 시작. 강좌처럼 세세하게 다 적을 생각은 없고 iOS와의 차이점, Java Script 만의 특성 등등만 주관적으로 기록할 예정 html이 실제 실행되는 본체. 따라서 css 파일과 js 파일은 html 코드 내에 경로를 추가해줘야 함 (참고) ! web 콘솔에 로그를 찍어줌 console.log("Hello! " + name); } }; /* --- 사용 예시 --- */ // player object 내의 파라미터 사용 console.log(player.name); // player는 상수로 선언됐지만 내부 파라미터의 값은 변경할 수 있음 player.name = "Jeck Lee"; // player object 내의 함수 ..
git head 사라짐;; (유실된 커밋 복원)
·
개발노트/기타
와 진짜 식겁했다가 살아났기에 다급하게 기록해두기로 함 나를 구원해준 링크는 여기: https://www.letmecompile.com/git-restore-lost-commits/ (아래는 자초지종. 안 읽어도 됨) 더보기 문제가 터진 원인을 거슬러 올라가자면, 개발 도중 이 라이브러리, 저 라이브러리 설치해보며 왔다갔다 테스트를 해야하는 상황이었다. 한 브런치에서 작업 쭉하다가 문제가 생겨 되돌리기 해야했는데, revert는 기록이 남게 되는 게 싫어서 head만 중간으로 옮겨서 이어 작업. 그리고 쓰던 브런치의 이름을 test로 바꾸고 새로 작업한 내용의 브런치를 feature로 바꾸기 위해 커밋하고 쓰던 브런치로 돌아와 이름을 바꿨더니.. 갑자기 두 개로 갈라져 있던 브랜치가 하나로 바뀜:0 커밋..
UINavigationBar left title & right bar buttons
·
개발노트/iOS
모든 디자인에서 navigationbar 타이틀 로고가 iOS 기본 형태처럼 center면 참 좋을텐데, 좌측으로 보내고 싶어하시는 클라이언트들도 물론 계신다. 이건 그거에 대한 기록. 우선 이미지를 navigationbar 타이틀로 쓰려면 view controller에서 아래처럼 써주면 된다 self.navigationItem.titleView = logoView 결과 (맑은 하늘색 부분이 로고 이미지가 들어가는 자리) : 자 이제 이걸 왼쪽으로 땡겨줄건데, 구글링해보니 titleview 영역에 스택뷰를 넣고 좌측을 빈 공간으로 채우는 형태로 구현하더라. 참고링크: https://stackoverflow.com/a/60870939 let logoView = UIImageView(image: ImageF..
Moving git repository and all its branches
·
개발노트/기타
모든 local&remote branch를 다른 git repository에 복사하기 팀 플젝 등을 하다보면 개인 계정이 아닌 공용 계정 깃에 작업을 하게 되는데, 개인 깃에도 히스토리 백업하고 싶었다. -> 절차는 https://gist.github.com/niksumeiko/8972566 링크 참고했음 보면 주석까지 멋지게 달아주셨으므로 읽어가면서 필요한 부분 따라하면 되는데 나는 아래 플로우만 시행 1. 모든 branch & tag fetch 2. new remote origin 추가 (이 부분만 위 링크와 다름) 3. new origin에 모든 branch push # Fetch all of the remote branches and tags: git fetch origin # Add a "new..
Xcode Unit Test: no such module
·
개발노트/iOS
앺플로이드 팀에서 만들어보기로 한 미니 프로젝트는 기왕 하는 김에 해보고 싶었던 걸 좀 때려박아 보기로 했다.결과 = MVVM+RxSwift+Test Case View는 재빠르고 간단하게 다 그려두고, 이제 모델을 생성할 단계가 되어 테스트 케이스 작성하는 법도 서치 해보면서 적용을 시도해봤는데,,, 구글이 이르되 프로젝트를 생성하면서 Include Unit Tests를 해주면 문제가 없어야 하는 걸로 보이건만 시작부터 순탄하지가 않다. 물론 이 모든 것은 프로젝트 구조 깡그리 무시한 무지한 자가 초래한 무식한 결과였음을....  우선 @testable로 모델 파일 추가한 부분.... 애초에 internal로 선언된 놈인데 바깥에서 부른다..?(이하생략)https://zeddios.tistory.com/..
Dynamic link: app install 이후 제대로 동작 안 함
·
개발노트/iOS
모바일 웹에서 흔히 볼 수 있는 ‘앱으로 보기’ 버튼이 있다. 발전형으로는 ‘앱 설치 시 포인트 적립' 등이 될 수 있겠다.버튼을 누르면 앱 설치 유무에 따라 스토어 페이지로 이동하거나 앱을 실행시켜준다.앱이 이미 설치되어 있던 디바이스가 잘 이동하는 건 이해하겠는데, 미설치했던 디바이스도 설치만 하고 나면 모바일 웹에서 보던 화면으로 이어지고 포인트 적립이 자동으로 되는데, 이 말인즉 링크가 유실되지 않는다는 뜻.그리고 Firebase Dynamic link가 이 모든 걸 알아서 해준다! …고 문서에서는 그렇다는데, 나는 당최 앱 미설치 → 실행에서 페이지 이동이 제대로 되지 않았다.그런데 안드로이드는 된다..! 스토어고 스토어로 이동시킨 웹이고 다 종료하고 앱을 실행해도 제대로 이동한다..!!이렇게 ..