본문 바로가기
Xcode 13, No StoryBoard Settings with SceneDelegate 1. 파일지우기 Main.storyboard 삭제 2. info.plist 수정 2-1. UIKit Main StoryBoard File Base name 키의 값 삭제 2-2. info.plist의 Storyboard Name 삭제 3. SceneDelegate 수정 guard let windowScene = (scene as? UIWindowScene) else { return } window = UIWindow(windowScene: windowScene) // SceneDelegate의 프로퍼티에 설정해줌 let mainViewController = ViewController() // 맨 처음 보여줄 ViewController window?.rootViewController = mainViewCo.. 2022. 4. 12.
Debugging 1 : dSYM, DWARF DWARF ? DWARF는 널리 사용되는 표준화된 디버깅 자료 형식. 앱이 크래시가 나게되면 시스템은 크래시 리포트를 생성하고 이를 디바이스 내부에 저장하고 크래시 리포트는 크래시가 발생한 시점에 대한 환경 정보나 기타 크래시 분석에 유용한 정보들을 담고있는데, 이렇게 생기는 크래시 리포트 DWARF 형식으로 쓰여있다 Symbol, Symbolication? Symbol : 사람이 읽을 수 있는 데이터 타입 Symbolication : 크래시 리포트에서 나타나는 BackTrace의 주소값을 Symbol로 전환하는 과정 dSYM? dSYM : debug symbol file Debug Symbol(dSYM)은 symbol 중에서 디버깅을 위해 필요한 정보를 좀 더 많이 가지고 있는 symbol Debug .. 2022. 3. 29.
iOS FireBase Crashlytics 적용 : CocoaPods, SPM CocoaPods으로 적용 1. Firebase 프로젝트 만들기 => https://firebase.google.com/docs/ios/setup#create-firebase-project 2. Firebase에 앱 등록 => https://firebase.google.com/docs/ios/setup#register-app 3. GoogleService-Info.plist 프로젝트에 추가 => https://firebase.google.com/docs/ios/setup#add-config-file 4. PodFile에 pod 'firebase/crashlytics' 추가 5. AppDelegate에 Firebase에 연동하는 코드 추가 => https://firebase.google.com/docs/i.. 2022. 3. 29.
SPM, Swift Package Manager SPM이란? Swift Package Manager는 애플에서 제공하는 dependency manager 패키지추가하는법 1. Xcode > 프로젝트 Target > Package Dependencies로 이동 2. + 버튼을 클릭하여 패키지를 추가할 수 있는 화면이 나오면 추가할 패키지의 repo URL을 입력하고 Add Package 버튼 클릭 패키지 저장위치 패키지는 Xcode 프로젝트 내부가 아닌 DerivedData 디렉토리에 저장 /Users/{user}/Library/Developer/Xcode/DerivedData/ 패키지관리 Xcode에서는 패키지 관리를 위해 총 3가지 동작을 지원 Reset Package Caches : DerivedData에 있는 피키지 캐시를 삭제하고 패키지를 다시.. 2022. 3. 29.
MVVM-C MVVM-C? MVVM-C 는 MVVM에서 뷰컨트롤러 계층을 관리하는 Coordinator를 따로 분리 하는 것! Coordinator 의 가장 중요한 역활은 viewcontroller로 부터 화면전환 로직을 가져가는 것이다. 장점 ViewController로 하여금 뷰모델과 UI바인딩, 그리고 UI액션을 처리하는 일부 기능이외의 책임을 줄일 수 있다 ViewController가 독립적이므로 재사용하기 용이하다. 의존성을 외부에서 주입(DI)할 수 있다 ViewController의 계층, 화면 간의 연결 플로우를 Coordinato에서 모아 관리 할 수 있다. MVVM-C 적용하기 기존 코드 func didLogin() { let mainVC = MainViewController(with: object).. 2022. 3. 28.
Xcode 13, No StoryBoard Settings without SceneDelegate 1. 파일지우기 SceneDelegate.swift 삭제 Main.storyboard 삭제 2. info.plist 수정 2-1. UIKit Main StoryBoard File Base name 값 삭제 2-2. info.plist의 Application Scene Manifest 삭제 3. AppDelegate 수정 2022. 3. 22.