문제 기본적으로 TableView와 CollectionView는 List 하나로 퉁쳐지는 듯함. push 형식으로 뷰를 전환하려면 NavigationLink를 통해서 움직여야함. NavigationLink로 묶여진 뷰 안에 버튼 이벤트를 독립적으로 분리시키고 싶음. 시도 hitTest나 ZStack 등 다양하게 시도해봄 해결 NavigationLink의 UI를 disabled시키고 버튼(또는 이미지, 뷰 등) 이벤트를 통해 간접적으로 NavigationLink를 호출 VStack { Button("독립적인 이벤트 실행") { // 어떤 이벤트 }.sheet(isPresented: $firstViewPresented) // 또는 first뷰를 sheet 형식으로 띄움 Image(systemName: "ci..
Xcode 12를 쓰다가 이러저러한 이유로 Xcode 13으로 업데이트를 했다. 으레 그렇듯 빌드에 실패했는데 다행히 이전처럼 디렉토리에 들어가서 파일 덮어쓰고 이런 건 없는 것 같은데 SPM을 사용한데서 빌드 fail이 났다. 해결법은 아주 간단! File -> Packages -> Reset Package Caches 경로에서 SPM 캐시를 초기화해주면 된다. 오히려 코코아팟 등보다 문제가 단순하게 해결됨
문제점 Pods/GoogleSignIn/Frameworks/GoogleSignIn.framework/GoogleSignIn' for architecture arm64 인텔 맥에서 작업한 프로젝트를 m1에서 이어서 작업하려고 하는데 빌드하면서 좋지 않은 에러가 나타났다. 이전에는 문제가 없었는데 해당 라이브러리 관련 문제일까? 원인 자세히 알아보아야겠지만 어느때처럼 Xcode 12 버그로 보인다. 아키텍처는 arm64인데 엑코에서 arm64라고 설정을 해주지 않아서 생기는 문제(?)인 것으로 보이고 해외에서도 많은 사례가 있었다. 해결 Xcode -> Target Project -> Build Setting -> Excluded Architectures > "arm64" Xcode -> Pod Ta..
iOS용 애플ID로 로그인 Identifiers → 해당 앱 ID를 사용하는 ID → Capabilities 목록에서 Sign in with Apple 선택 → https://{FIREBASE_PROJECT_ID}.firebaseapp.com/__/auth/handler 끝. 기타(안드로이드) 애플ID로 로그인 위에서 한 작업에 추가적으로 아래 작업들을 해주어야함 Identifiers → ServiceID 생성 → https://simpass.firebaseapp.com/__/auth/handler 입력 Keys → Sign in with Apple → Key ID와 팀 ID 획득 팀ID는 개발자 계정의 ID .p8 인증서 파일 다운되면 텍스트 편집기로 열어서 private key 획득 More → Si..
열심히 commit한 내역을 push하려고 보니 갑자기 에러가 뜬다. send-pack: unexpected disconnect while reading sideband packet fatal: the remote end hung up unexpectedly 뭔 소린가 싶지만 구글링을 하니 단일 파일당 최대 용량이 1MB로 설정되어있는데 그것을 초과하면 나오는 메시지라고 한다. local(또는 global) config를 아래와 같이 수정하면 된다. git config --local http.postBuffer = 1024M # 보통 예제는 20M이 많음 git config --local http.maxRequestBuffer.= 1024M 여기서 잘 될 수도 있지만 나는 안됐다 더 찾아보니 이렇게 하란..
install hombrew를 이용한 방법 brew install cask # cask가 설치되어있는 경우 생략 brew install --cask fastlane # fastlane을 cask로 설치 # 설치 완료후 fastlane env # 설치 버전 확인 rubygems를 이용한 방법 sudo gem install fastlane -NV usage 패스트래인을 적용하려는 프로젝트로 이동 후 fastlane init init을 성공하면 애플 아이디/비밀번호를 입력하라는데 개발자 계정과 사용자 계정을 나누어야겠다는 생각이 들었음. 암튼 임력. git status나 프로젝트 파인더로 보면 fastlane이라는 폴더가 생김. 그 아래에는 Appfile, Deliverfile, Fastfile이 있음. ap..
Homebrew # arm용: /opt/homebrew /bin/bash \-c "$(curl \-fsSL [https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh](https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh))" # x86용: /usr/local/homebrew # 로제타2를 통해서 작동 arch -x86_64 /bin/bash \-c "$(curl \-fsSL [https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh](https://raw.githubusercontent.com/Homebrew/in..
맥에선 기본적으로 한글일 때와 영문일 때 특수기호를 다르게 받아들인다. 한글로 놓고 억음부호(`)를 누르면 원화(₩)가 표시된다. 영문으로 놓아야만 억음부호를 억음부호로 쓸 수 있다. 하지만 마크다운을 많이 쓰다보면 억음부호를 자주 쓰게 되는데.. ~/Libary 폴더에 KeyBindings 폴더 생성: 파인더 단축키 커맨드+쉬프트+G ~/Libary/KeyBindings 경로에 DefaultkeyBinding.dict 파일 생성. // DefaultkeyBinding.dict { "₩" = ("insertText:", "`"); } 재부팅 또는 터미널에서 아래 명령어를 입력한다. if [ -f ~/Library/KeyBindings/DefaultkeyBinding.dict ]; then echo "~/..
여러 계정을 사용하든, config에서 오타를 냈든, author나 committer 등 커밋 변수들을 잘못 쓰는 경우가 있는데, 안타깝게도 그것을 발견한 것은 한참 후라면? filter-branch는 히스토리 전체에서 원하는 것만 가져올 수 있음 --env-filter는 커밋이 수행되는 환경에 필터를 걸 수 있음: author, committer, name, email, time 등의 환경변수들! 참고 Cannot create a new backup. A previous backup already exists in refs/original/ Force overwriting the backup with -f 위와 같은 에러가 뜰 때가 있는데 아래 명령어로 해결 가능 git update-ref -d ref..
roadmap 웹 개발자 로드맵은 매년 업데이트 되고 쉽게 구할 수 있는데, iOS 개발자 로드맵은 그렇지 않았다. 그러던 중 모든게 다 있는 git에서 귀중한 자료를 발견함 개발자 로드맵: https://roadmap.sh/ iOS개발자 로드맵: https://github.com/godrm/mobile-developer-roadmap iOS 로드맵 Xcode IDE Playground Swift Functional Programming vs Object-oriented Programming(with ObejctiveC) Protocol-Oriented Programming Value Semantics Generics Concurrent Programming Swift Standard Swift Foun..