반응형 Apple40 Swift5.9 Macro(매크로) 만들어보기 개발 중 반복적으로 사용되는 코드는 유지보수를 어렵게 하고, 새 기능 추가 시 모든 관련 부분을 수정해야 하는 번거로움이 있다. 이러한 반복적인 코드를 '보일러플레이트(Boilerplate)'라 부르며, 개발을 간편하게 하지만 코드 양과 복잡성을 증가시킬 수 있다. Swift5.9에서는 매크로를 통해 위 문제를 효과적으로 해결할 수 있는 방법을 제시했다. Swift 매크로를 사용하면 컴파일 시간에 반복적인 코드를 생성할 수 있어, 앱의 코드베이스를 더 표현적이고 읽기 쉽게 만들 수 있다. 또한 컴파일러를 수정하지 않고 Swift 패키지에 배포할 수 있다. 이 글에서 다룰 주제를 정리 했다. (Xcode15.2 기준) 0. 예시 소개 1. 매크로 만드는 방법과 실행 2. 매크로 동작 방식 3. 매크로 테.. 2024. 3. 18. Swift Package Manager를 이용한 생성 및 Package추가 아래는 Swift Package Manager를 사용해서 생성부터 추가까지 링크를 정리 했다. Swift Package Manager(SPM)를 이용해서 라이브러리 만들기 Step By Step 출처: https://leviblog.tistory.com/34 Swift Package Manager(SPM)를 이용한 라이브러리 사용 방법 출처: https://leviblog.tistory.com/33 2024. 3. 15. Swift Package Manager(SPM)를 이용해서 라이브러리 만들기 Step By Step Swift Package Manager를 이용해서 내가 만든 소스코드를 라이브러리 형태로 배포하는 과정을 설명하려고 한다. 여러 유명 라이브러리 (Alamofire, Snapkit, RxSwift, Kingfisher, SDWebImage..)들도 SPM를 이용해서 배포를 하고 있다. 이 글에서는 Xcode15.2를 기준으로 작성 되었다. 1. Launchpad 선택 2. Xcode 실행 1. Xcode가 실행되면 모니터 왼쪽 최상단 File 메뉴를 선택 2. New 메뉴 선택 3. Package 메뉴 선택 1. Multiplatform 메뉴 선택 2. Library 선택 3. Next 선택 1. 패키지 이름을 작성 2. Source Control 생성 유무. Github에 해당 라이브러리를 올려서 배포.. 2024. 3. 15. Swift Package Manager(SPM)를 이용한 라이브러리 사용 방법 Swift Package Manager(SPM)는 Swift 언어를 위한 패키지 관리 도구다. 여기서 패키지 관리자란, 프로젝트에서 사용하는 외부 라이브러리나 프레임워크를 편리하게 관리할 수 있게 도와주는 도구를 말한다. 필요한 라이브러리를 쉽게 찾고, 추가하며, 업데이트할 수 있다. CocoaPods, Carthage와 같은 기존 의존성 관리 도구가 있지만, SPM은 편의성과 빌드 속도의 이점을 가져 갈 수 있다. 또한 애플에서 직접 제공하는 1st party 의존성 도구이므로 사용성이 높아지고 있다. Swift Package Manager는 Swift 언어에 내장된 도구로, Xcode와 함께 자연스럽게 통합되어 사용할 수 있다. 참고로, 다른 언어의 패키지 관리 도구로는 JavaScript의 npm,.. 2024. 3. 14. Xcode Source Control (Git) 상태 표시의 의미 Xcode를 이용해서 개발을 하는 상황에서 왼쪽 네비게이션 바(아래 이미지)에서 "M", "A" "↓" 등등.. 표시되는 모습을 볼 수 있다. 어떤 의미를 갖고 있는지 이번시간에 정리하고자 한다. "M" (Modified): "수정됨": 파일이 마지막으로 커밋된 이후 수정되었음을 나타냄. 즉, 파일에 변경사항이 있으나 아직 커밋되지 않은 상태. "A" (Added): "추가됨": 파일이 새롭게 추가되었으나 아직 커밋되지 않았음을 나타냄. 프로젝트에 새 파일을 생성하거나 기존에 추적되지 않던 파일을 추가했을 때 이 상태가 표시됨. "?" (Untracked): 파일이 소스 컨트롤에 의해 추적되지 않고 있음을 의미. 새 파일을 프로젝트에 추가했지만 아직 Git이나 다른 버전 관리 시스템에 추가하지 않은 경우.. 2024. 3. 11. ios17.1 업데이트 주요 내용 정리 안녕하세요! 이번 ios17.1 업데이트가 나왔습니다.AirDrop에어드랍을 하고 난 후 AirDrop 범위를 벗어났을 때 인터넷을 통해 계속해서 콘텐츠 전송할 수 있도록 변경되었습니다. 이제 끊기는 일이 덜 할거 같네요. 스탠바이디스플레이를 끄는 시간을 제어할 수 있는 옵션이 새롭게 제공됩니다 잠금화면잠금 화면에서 사진 셔플과 함께 사용할 특정 앨범을 선택하는 옵션이 제공됩니다 스크린타임설정이 모든 기기에서 동기화되도록 안정성이 한층 강화 되었습니다 기타 버그 수정• 사용자가 다른 통화 중일 때 착신 전화의 발신자 이름이 표시되지 않을 수 있는 문제 해결 • 사용자 설정 벨소리와 구입한 벨소리가 메시지 수신음의 옵션으로 나타 나지 않을 수 있는 문제 해결 • 키보드 반응 속도가 느릴 수 있는 문제 해결.. 2023. 10. 27. Designing For WatchOS(WatchOS용 디자인) 디스플레이: 가독성, 고해상도 인체공학: 화면에서 한 발 정도 떨어져 있음 반대 손을 사용하여 장치와 상호 작용 Always On Display 입력: 디지털 크라운을 이용한 수직 탐색 데이터 검사, 시계 페이스 홈 화면 및 앱 내에서 일관된 제어 터치스크린 제스처 액션버튼 GPS, 혈중 산소, 심장 기능 감지 센서, 알티미터, 가속도계, 자이로스코프 데이터 활용 앱 상호 작용: 하루 내내 켜진 디스플레이 자주 봄 1분 미만 지속되는 간결한 앱 상호 작용 컴플리케이션, 알림, Siri 상호작용 자주 사용함 시스템 기능: 익숙하고 일관된 방식으로 상호 작용하는데 도움을 줌 WatchOS에서 자연스러운 경험을 선사하기 위한 방법 중요한 정보를 간결하게 제공, 간단한 제스처로 하나 또는 두개로 목표 지향적인 .. 2023. 10. 16. Designing For iOS (iOS용 디자인) 디스플레이: 중간크기의 고해상도를 갖고 있음. 인체공학: 한손 또는 양손, 가로 또는 세로 방향으로 화면 전환, 1~2피트(30~60cm) 입력: 멀티터치 제스처, 화면 키보드, 음성 제어, 개인 데이터 및 장치의 자이로스코프, 가속도계 입력, 공간 상호 작용 디자인이 자연스럽게 느껴지도록 하기위한 방법 화면 상에 표시되는 컨트롤의 수를 제한, 보조 세부 정보 및 작업을 최소화 디바이스 방향, 다크 모드, 다이나믹 타입 외관 변화에 신속하게 변환 사용자가 디바이스를 어떻게 잡고 있는지 고려 (예: 화면 중간 또는 하단에 컨트롤 위치 할때 동작이 더 쉬움) 사용자 개인 정보 허락받기 (위치, 생체 인증 사용 등.) 2023. 10. 16. 이전 1 2 3 4 5 다음 반응형