[25.08.04] MOUP 트러블슈팅 - .xcconfig 내 url 설정 시 주의사항

2025. 8. 5. 00:02·iOS/Swift

1. 문제 상황

구글 로그인을 위해 데이터 레이어를 모두 임시 구현해두고 테스트를 하는데 No endpoint 경고가 뜸
NSLocalizedDescription=특정 호스트 이름을 가진 서버를 찾을 수 없습니다.

분명 baseURL을 xcconfig에 넣고 이를 info.plist에 등록해서 가져다가 쓴건데...?
라우터 패턴 내부에 

var baseURL: URL {
        guard let url = URL(string: NetworkConstants.baseURL) else {
            fatalError("Invalid base URL")
        }
        print("baseURL은 \(url)입니다")
        return url
    }

// 생략 ...

func asURLRequest() throws -> URLRequest {
        let url = baseURL.appendingPathComponent(path)
        print("최종 url: \(url)")
        var request = try URLRequest(url: url, method: method)
        request = try encoding.encode(request, with: parameters)
        return request
    }

 

각 파트마다 print를 찍어보았는데 baseURL: https: 까지만 찍힘.

 

왜..?

 

2. 문제 해결

 

xcconfig 파일 내에서 예시로

BASE_URL = https://abc.com

 

이 형태로 넣어두게 된다면 / 기호 두번이 주석으로 인식하게 만들고 결국 https:까지만 BASE_URL로 저장되는 것이다.

 

이때 $()라는 문자를 넣어 트릭을 걸어준다.

 

BASE_URL = https:/$()/abc.com

 

 

$() 이런거 맨날 보던건데? 뭐지?

$()는 Xcode의 빌드 시스템에서 변수 값을 동적으로 치환할 때 사용하는 문법이다. 빌드 시점에 $(변수명)이 실제 값으로 대치된다.
info.plist만 봐도 <string>$(BASE_URL)</string> 같은 표현을 하는 것을 알 것이다.

 

아무 값이 없는 $()을 두 슬래시(/) 사이에 끼워넣어 같이 인식되지 않게 만들고 중간엔 빈값이기에 결국 제대로된 URL 값을 저장할 수 있게 하는 것이다.

 


어쩐지 xcconfig에 url 저장할때 //이후로 색이 바뀌더라니 바로 넘기지 말고 어떤 현상인지 조금 더 지켜봤으면 좋았을 것 같다.

 

'iOS > Swift' 카테고리의 다른 글

[25.08.14] MOUP 리팩토링 및 트러블슈팅 - 동적 높이를 가지는 테이블뷰 셀  (3) 2025.08.14
[25.07.31] MOUP 트러블슈팅 - tableHeaderView 레이아웃 제약 경고  (2) 2025.07.31
[25.06.24] MOUP 트러블슈팅 - Listener와 Rx의 timeout  (0) 2025.06.24
[TIL / 25.05.27] 날씨 앱 main 페이지 구조 트러블슈팅  (5) 2025.05.27
[TIL / 25.05.18] 의존성 주입 담당 DIContainer를 처음 적용해보았습니다  (4) 2025.05.18
'iOS/Swift' 카테고리의 다른 글
  • [25.08.14] MOUP 리팩토링 및 트러블슈팅 - 동적 높이를 가지는 테이블뷰 셀
  • [25.07.31] MOUP 트러블슈팅 - tableHeaderView 레이아웃 제약 경고
  • [25.06.24] MOUP 트러블슈팅 - Listener와 Rx의 timeout
  • [TIL / 25.05.27] 날씨 앱 main 페이지 구조 트러블슈팅
subkyu-ios
subkyu-ios
subkyu-ios 님의 블로그 입니다.
  • subkyu-ios
    subkyu-ios 님의 블로그
    subkyu-ios
  • 전체
    오늘
    어제
    • 분류 전체보기 (56)
      • iOS (38)
        • Swift (38)
      • 내일배움캠프 (7)
      • Git, Github (3)
      • Algorithm (6)
      • 회고 (1)
      • 면접 질문 정리 (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    내일배움캠프
    TableView
    tabman
    Swift
    github
    ios
    사전캠프
    의존성 주입
    알고리즘
    RxSwift
    회고
    KPT
    algorithm
    UIKit
    트러블슈팅
    프로그래머스
    til
    Wil
    stackview
    본캠프
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
subkyu-ios
[25.08.04] MOUP 트러블슈팅 - .xcconfig 내 url 설정 시 주의사항
상단으로

티스토리툴바