문제 기본적으로 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..
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..
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..
에러유형 새로운 환경에서 프로젝트를 빌드했을 때 나타나는 에러 어쩌고저쩌고 is not a valid precompiled module file나의 경우엔 cocoapod을 설치하고 같은 레포에 cocoapod을 install하면서 뭔가 꼬인 것 같은데 pod 라이브러리에러 빌드에러가 났다. 해결책 DerivedData를 지워준다. rm -rf ~/Library/Developer/Xcode/DerivedData/* 또는 클린빌드, ⌘⇧K(Cmd+Shift+k)를 하면 해결이 된다.
Storyboard vs SwiftUI 하나는 Styboard, 하나는 SwiftUI를 적용한 프로젝트 구조입니다. 기존의 ViewController 대신 ContentView가 들어있고, Main.storyboard 대신 Preview Content가 들어있네요. 하나씩 봅시다. AppDelegate는 iOS 12 이전까지 사용하던 라이프싸이클 매니저인데, iOS 13부터 SceneDelegate가 등장하면서 하나의 앱이 여러 scene을 통해 별도의 앱처럼 구동될 수 있게 되었습니다. Storyboard SwiftUI 두 이미지 모두 SceneDelegate인데 위 이미지는 Storyboard 방식으로, 아래 이미지는 SwiftUI 방식으로 만들어졌습니다. SwiftUI의 내용이 더 풍성하죠? Vie..
ARKit은 iOS11부터 사용가능하며, WWDC 2020에서 ARKit 4로 업데이트 되었습니다. 어찌되었건 AR을 쓰려면 사용하려면 써야하는 프레임워크고 놀랍게 카탈리스트 14에서 베타로 지원을 하네요. 맥도 AR 플랫폼으로..? AR 앱을 만드는건 간단합니다. 이렇게 진행하고.. 랭귀지는 당연히 Swift인데 Content Technology라는 친구가 있네요? 이전 WWDC에서 소개된 Metal을 제외하곤 아는게 없군요..일단 기본 선택되어있는 RealityKit이 뭔지 알아봅시다. iOS13과 카탈리나에서 이미 제공하고 있는 프레임워크였네요. (반성) ARKit에서 얻은 데이터를 렌더링 하는 친구인가 봅니다. 아 그럼 ARKit은 Input이고 RealityKit은 Output인 것 같군요? 나..