본문 바로가기

ios8

Build Setting 시 경로 매크로 알아보기 SRCROOT 해당 프로젝트의 타겟 소스가 포함된 디렉토리를 의미합니다. 해당 TestFoundation 프로젝트의 빌드세팅에서 SRCROOT를 입력시 아래의 TestFoundation 모듈의 디렉토리의 경로가 입력됩니다. BUILT_PRODUCTS_DIR 해당 빌드에 대한 결과값이 있는 경로를 나타냅니다. 빌드시 나오는 결과물(번들 및 실행파일)을 저장하고 있는 곳입니다. 빌드 오류가 나올 때 Derived Data경로에 접근하게 되는데 해당 결과가 바로 BUILT_PRODUCTS_DIR 입력시 나오는 곳입니다. BUILT_PRODUCTS_DIR 설정 시 해당 Derived Data에서 현재 타겟에 대한 빌드 디렉토리까지 접근하게됩니다. PROJECT_NAME 해당 빌드세팅에서의 타겟을 감싸고 있는 프.. 2023. 10. 16.
Framework ~ not found 새로운 모듈을 만들고 공통 프레임워크를 embed 하면서 프레임워크를 찾지 못하는 경우가 발생했습니다. BuildPhase에 잘 들어가 있는지도 확인하고, 혹시나 프레임워크 경로를 못 찾나 확인도 했지만 고칠 수 없었습니다. 공통모듈을 Embed하는 곳과 비교하던 도중 Project-> Info -> Use [Configuration] for command-line builds가 다른 모듈과 다르게 되어 있었고 해당 Configuration을 Release로 바꾸게 되는 정상적으로 빌드가 성공하였습니다. 2023. 10. 12.
KeyPath 오늘은 KeyPath라는 것을 알아보겠습니다. KeyPath는 사실 개발하면서 현재 많이 쓰지 않는 기능이긴 하지만 SwiftUI에서 간혹 보곤 합니다. LazyVGrid(columns: columns) { ForEach(images, id: \.self) { image in Image(uiImage: image) .resizable() .scaledToFit() .frame(height: 150) } } \.self 이게 바로 KeyPath입니다. 사용해 보신 적이 있으실 겁니다. 간단한 구조체 하나를 만들면서 설명 시작하겠습니다. struct Streamer { var name: String var subscriber: Int } let streamer = Streamer(name: "nogu", s.. 2023. 1. 16.
Circle Indicator 만들기 오늘은 어떤 작업을 기다릴 때 사용할 수 있는 인디케이터를 만들어 보겠습니다. 프레임워크에서 제공하는 것을 사용할 수도 있지만 커스텀해서 사용하는 경우가 많기 때문에 간단히 만들 수 있는 UI를 소개할까 합니다. @MainActor class UIActivityIndicatorView : UIView 인디케이터가 돌아가는 것을 볼 수 있게 원의 한 곳이 뚫린 UI를 만들 겁니다. 그려지는 UI는 같지만 방법은 두 가지로 설명드릴게요! 1) Path로 Shape를 만드는 방법 Shape는 View의 프로토콜은 따르는 타입입니다. 또한 (CGRect) -> Path를 구현해줘야 합니다. struct CirclePath: Shape { func path(in rect: CGRect) -> Path { //re.. 2022. 12. 8.