Xcode 14.3 (14E222b) 기존 엑스코드 버전에서는 문제가 되지 않지만 새롭게 변경된 Xcode에서 빌드를 하면 코코아 팟 에러가 발생합니다. 다음과 같이 libarclite_iphoneos.a 파일을 찾을 수 없다고 하며 앱을 빌드할 수 없는데 이럴 때는 코코아 팟에 빌드 타깃을 변경해주어야 합니다. File not found: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/arc/libarclite_iphoneos.a 플러터(Flutter) 개발에서도 이와 같은 버그가 많이 생기는 것 같고 이 때 역시 빌드 타깃을 변경해주면 해결되는 것 같습니다. 우선 다음과 같이 PodFile 에..
Cocoapods 최근에 나온 맥으로 Cocoapods를 설치하면 문제가 되는데 이유를 알아보면 m1을 통해 gem으로 설치하면 특정한 명령을 추가하거나 로제타로 터미널을 실행해야 정상동작합니다. 때문에 최근에는 새로운 m1 맥북에서는 가급적이면 Homebrew의 brew 명령어를 사용해서 Cocoapods를 설치합니다. ▼ 우선 gem을 이용한 설치 방법입니다. 다음과 같이 터미널을 열고 명령어를 입력하면 설치가 됩니다. ▼ 이번에는 Homebrew 패키지 매니저의 brew 명령을 통해서 cocoapods를 설치해보겠습니다. sudo 권한이 필요 없이 바로 설치가 가능합니다. ▼ 만약 Homebrew 패키지 매니저가 설치되지 않았다면 다음 명령을 통해서 설치가 가능합니다. 위의 명령어가 실행되지 않는다..
CocodPods Podfile.lock CocoaPods 를 사용하면 Podfile.lock이라는 파일을 확인할 수 있습니다. 이는 일반적으로 .gitignore에 포함되지 않습니다. 그 이유는 여러 사용자(개발자)가 동일한 소스 서드파티 라이브러리를 공유하고 사용하기 위해서 입니다. repo를 업데이트 하거나 deintegrate 명령을 통해 파일을 변경할 수 있지만 해당 lock 파일이 고정 됨으로써 모두 동일한 소스를 사용한다고 보장할 수 있습니다. Package.resolved 이와 비슷하게 Xcode의 Swift Package Manager(이하 SPM)를 사용하면 다음과 같이 git에 commit 할 때 포함 여부를 묻습니다. 대체적으로 userdata 같은 경우는 Xcode에 포함하지 않는..
SwiftGen 이란? 스위프트를 사용해서 앱을 만들다 보면 리소스 관리가 안드로이드에 비해서 훨씬 복잡하고 어렵다는 것을 알 수 있습니다. 어렵다기보다는 관리가 제대로 이루어지지 않아서 실수를 하는 경우도 많고 워낙 IDE 가 훌륭해서(?) 까다로운 경우가 많죠. 하지만 이러한 모든 문제를 알고 만들어진 오픈소스가 있습니다. SwiftGen이라는 오픈소스인데요. 글 쓰는 현재 8천 명이 넘게 즐겨찾기로 추가해놓았습니다. 다음의 항목들을 관리할 수 있게 해 줍니다. Assets Catalogs Colors Core Data Files Fonts Interface Builder files JSON and YAML files Plists Localizable strings https://github.com/..