iOS 시작하기: App Store 클라이언트 설치와 구독 가져오기 전체 단계

iOS에서 App Store 검색부터 지역 차이, 구독 링크 가져오기, 온디맨드 연결 설정까지 정리하고, 첫 연결 후 규칙 분리가 제대로 적용됐는지 확인하는 방법도 설명합니다.

사전 준비: OS 버전, Apple ID 지역, 클라이언트 형태

iOS는 데스크톱과 트래픽 처리 방식이 다릅니다. 시스템에 HTTP 프록시 포트를 열어 브라우저가 쓰도록 하는 방식이 아니라, Network Extension(네트워크 확장)으로 VPN 구성을 등록해 시스템이 트래픽을 확장으로 넘깁니다. 설치 전에 OS 버전, 계정 지역, 설정 파일 형식 세 가지를 먼저 확인하세요.

OS 버전과 기기 요구 사항

  • 대부분 클라이언트는 iOS 15 이상을 요구하며, 2025년 이후 출시된 버전은 보통 iOS 16으로 기준을 올렸습니다.
  • 버전 번호는 '설정' → '일반' → '정보' → '소프트웨어 버전'에서 확인할 수 있습니다.
  • iPhone과 iPad는 같은 App Store 앱을 함께 쓰며, 인터페이스는 화면 크기에 맞춰 바뀌고 iPad에서는 분할 레이아웃으로 표시됩니다.
  • 시스템이 네트워크 확장에 할당하는 메모리는 수십 MB 수준으로 제한적입니다. 로컬 규칙이 너무 많으면 확장이 시스템에 의해 종료되어 연결 후 몇 초에서 몇 분 사이에 자동으로 끊길 수 있습니다. 구독에서 rule-provider로 원격 규칙 세트를 받아오는 편이 수만 개 규칙을 로컬 설정에 넣는 것보다 안정적입니다.

Apple ID 지역이 앱 검색 가능 여부를 결정합니다

  • App Store 노출 범위는 계정의 '국가 또는 지역'으로 결정되며, 중국 본토 지역에서는 대부분의 프록시 클라이언트를 제공하지 않습니다.
  • 미국, 일본 등 다른 지역의 Apple ID로 내려받아야 합니다.
  • 전환은 스토어에만 적용되고 iCloud에는 영향을 주지 않습니다: '설정' → 상단 Apple 계정 → '미디어 및 구입 항목' → '로그아웃' 후 다른 지역 계정으로 로그인합니다. App Store 오른쪽 위 프로필 사진에서 바로 로그아웃해도 됩니다.
  • 앱을 업데이트할 때는 내려받은 계정이 필요하므로 해당 계정을 남겨두는 편이 좋습니다. 그렇지 않으면 업데이트마다 비밀번호를 다시 찾아야 합니다.

App Store만 전환하고 iCloud는 건드리지 않기

iCloud와 App Store는 서로 다른 로그인 항목입니다. 앱을 받으려고 iCloud에서 로그아웃하면 백업, 사진 동기화, '나의 찾기'에 영향을 줍니다. 위에 안내한 경로는 스토어 계정만 전환합니다.

클라이언트 형태와 기능 차이

iOS에서 Clash 설정 형식을 지원하는 클라이언트는 모두 서드파티 앱이며, 차이는 세 가지에 집중됩니다: proxy-providers와 rule-providers 지원 여부, 스크립트나 오버라이드 제공 여부, 구독 업데이트를 시작하는 방식. 일반적인 규칙 분리만 쓴다면 Clash YAML을 온전히 파싱하는 앱이면 충분합니다.

App Store에서 클라이언트 받기

Clash 설정 형식을 지원하는 iOS 클라이언트로는 Stash, Shadowrocket, Karing 등이 있으며 모두 서드파티 앱입니다. 이름, 가격, 등록 지역은 수시로 바뀌므로 내려받는 시점의 App Store 페이지를 기준으로 확인하세요.

  1. App Store를 열고 클라이언트 이름을 검색합니다. 어떤 것을 쓸지 모르면 'Clash'를 키워드로 먼저 결과를 확인하세요.
  2. 개발자 이름, 최근 업데이트 시점, 평가 수를 확인합니다. 업데이트가 잦고 등록된 지 오래된 항목이 보통 더 믿을 만합니다.
  3. '받기'를 누르고 Face ID나 Apple ID 비밀번호로 확인합니다. 유료 앱은 가격이 바로 표시됩니다.
  4. 설치가 끝나면 앱을 열고 안내에 따라 알림과 로컬 네트워크 권한을 허용합니다.

검색되지 않거나 지역 사용 불가 안내가 나올 때

  • 먼저 App Store 오른쪽 위 프로필에서 현재 계정과 지역을 확인합니다.
  • '이 앱은 현재 국가 또는 지역에서 사용할 수 없습니다'가 표시되면 해당 지역 계정으로 로그인하거나 그 지역의 교환 코드를 사용합니다.
  • 일부 클라이언트는 TestFlight로 베타 버전을 배포하며 자리가 한정됩니다. 정식 버전은 여전히 App Store에 등록되어 있습니다.

첫 실행 후 확인할 세 가지

  • '설정' → '정보'에서 코어 버전을 확인합니다. Clash Meta 계열 클라이언트는 mihomo와 버전 번호를 v1.19.x 형태로 표시합니다.
  • 구독의 YAML을 파싱할 수 있는지, 특히 proxy-providers와 rule-providers 두 필드를 확인합니다.
  • '모드'에 Rule, Global, Direct 세 단계가 있는지 확인합니다. 이후 분리 문제를 진단할 때 쓰입니다.

구독 링크와 설정 파일 가져오기

iOS 클라이언트는 세 가지 가져오기 경로를 지원합니다: 구독 URL, 클립보드나 QR 코드, 로컬 YAML 파일. 구독 URL이 일상적인 주 경로이고 로컬 파일은 임시 디버깅에 적합합니다.

구독 URL로 가져오기

  1. 클라이언트 하단 탭에서 '구성'으로 들어갑니다. 일부 클라이언트는 '구독'이라고 부릅니다.
  2. 오른쪽 위 '+'를 누르고 'URL에서 가져오기'를 선택합니다.
  3. 구독 주소를 붙여넣습니다. 주소는 https://로 시작하고 보통 token이나 uuid 파라미터가 붙습니다.
  4. 구성에 알아보기 쉬운 이름을 붙입니다. 예를 들어 home처럼 정한 뒤 확인하면 클라이언트가 가져오기를 시작합니다.
  5. 가져오기에 성공하면 목록에 해당 구성이 나타나고 자동으로 선택됩니다. 항목 오른쪽 버튼을 누르면 수동으로 업데이트할 수 있습니다.
  6. '자동 업데이트'를 켜고 간격은 보통 24시간으로 설정합니다. 일부 클라이언트는 실행할 때마다 확인하는 옵션을 지원합니다.

클립보드와 QR 코드

  • Safari에서 구독 링크를 길게 눌러 복사한 뒤 클라이언트에서 '클립보드에서 가져오기'를 선택합니다. 대부분 클라이언트가 클립보드 내용을 자동으로 읽습니다.
  • 구독 링크를 QR 코드로 만들어 클라이언트로 스캔하면 iPad와 iPhone 사이에서 설정을 옮기기 좋습니다.
  • QR 코드는 자격 증명과 같으니 캡처해 외부로 보내지 마세요.

로컬 YAML 파일

  • .yaml 파일을 '파일' 앱에 저장하고 파일을 길게 눌러 '공유' → 클라이언트를 선택합니다.
  • 클라이언트 안의 '파일에서 가져오기'로 iCloud Drive나 '내 iPhone'에서 선택해도 됩니다.
  • ss://, vmess:// 같은 단일 노드 링크를 받았다면 클라이언트의 '노드' 페이지에서 직접 추가하거나, YAML의 proxies 섹션으로 정리해 가져올 수 있습니다.
  • 로컬 파일은 구독과 함께 갱신되지 않아 디버깅에 적합합니다. 확인이 끝나면 다시 구독으로 돌아가세요.

구독 파일에서 이 기기 사용과 관련된 필드는 대략 다음과 같으며, 가져온 뒤 클라이언트에서 항목별로 확인할 수 있습니다:

mode: rule
log-level: warning
dns:
  enable: true
  nameserver:
    - https://223.5.5.5/dns-query
rules:
  - DOMAIN-SUFFIX,cn,DIRECT
  - GEOIP,CN,DIRECT
  - MATCH,PROXY

첫 연결: VPN 권한 승인과 온디맨드 연결

설정을 가져온 뒤 처음 연결을 누르면 시스템의 VPN 권한 승인 절차가 실행됩니다. 이 단계는 한 번만 거치면 됩니다.

  1. 클라이언트 홈으로 돌아가 연결 스위치를 누릅니다.
  2. 시스템이 '클라이언트 이름이 VPN 구성을 추가하려 합니다' 창을 띄우면 '허용'을 누르고 Face ID나 암호로 인증합니다.
  3. 상태 표시줄에 VPN 표시가 나타나고 클라이언트에 현재 노드와 지연 시간이 보입니다.
  4. 이후 '설정' → '일반' → 'VPN 및 기기 관리' → 'VPN'에서 이 구성을 확인하고 직접 켜고 끌 수 있습니다.

온디맨드 연결(On-Demand)

  • 켜두면 조건이 충족될 때 시스템이 확장을 자동으로 실행하므로 매번 직접 연결할 필요가 없습니다.
  • 일반적인 옵션은 항상, Wi-Fi에서만, 셀룰러에서만이며 정확한 이름은 클라이언트 화면을 기준으로 합니다. 평소에는 'Wi-Fi에서만'을 권장하고, 아예 끄는 것도 좋습니다.
  • '항상'을 고르면 신호가 약한 환경에서 재연결이 반복되며 상태 표시줄의 VPN 아이콘이 깜빡일 수 있습니다.

데스크톱과 다른 두 가지 설정

  • iOS에서는 TUN이 트래픽을 가로채므로 데스크톱의 '시스템 프록시 + 7890 포트' 설정은 여기서 쓸 수 없고 포트 번호를 입력할 필요도 없습니다.
  • 일부 클라이언트는 'LAN 연결 허용' 같은 옵션을 제공합니다. 켜면 기기에서 포트를 열어 같은 Wi-Fi에 있는 다른 기기가 쓸 수 있게 합니다. 필요 없으면 꺼두세요.

알림과 백그라운드 새로고침

  • 알림을 허용하면 구독 업데이트 결과와 연결 상태가 알림 센터에 표시됩니다.
  • '설정' → '일반' → '백그라운드 앱 새로고침'에서 클라이언트를 켜두면 구독 자동 업데이트가 더 안정적입니다. VPN 확장은 시스템이 관리하므로 따로 유지할 필요가 없습니다.

규칙 분리가 적용됐는지 확인

연결에 성공했다고 분리가 올바른 것은 아닙니다. 아래 다섯 항목을 차례로 확인하면 2분 안에 결론이 납니다.

분리 점검 목록
점검 항목확인 위치예상 결과
현재 모드클라이언트 '설정' → '모드'Global이나 Direct가 아닌 Rule(규칙) 선택
출구 IPSafari에서 ipinfo.io 열기노드가 있는 국가/지역이 표시되고 선택한 노드와 일치
직접 연결 판정Safari에서 myip.ipip.net 열기현지 통신사와 도시가 표시되면 중국 본토 도메인이 직접 연결로 처리된 것
규칙 매칭클라이언트 '연결' 또는 '로그' 페이지각 연결 뒤에 매칭된 규칙과 최종 정책이 표시됨
DNS클라이언트 DNS 로그중국 본토 도메인은 중국 본토 DNS가 해석하고 해외 도메인은 프록시 쪽에서 해석

로그 페이지의 각 줄에는 규칙 이름과 최종 정책이 함께 표시되며, 흔한 형식은 다음과 같습니다:

[TCP] 192.168.1.7:52134 --> www.google.com:443 match DomainSuffixRule(google.com) using PROXY
[TCP] 192.168.1.7:52188 --> api.weibo.cn:443 match GeoIP(CN) using DIRECT
[UDP] 192.168.1.7:5353 --> 223.5.5.5:53 match Match using DIRECT

분리가 적용되지 않는 흔한 원인 세 가지

  • 모드가 Global에 머물러 있음: 모든 트래픽이 프록시를 거쳐 중국 본토 사이트도 한 바퀴 돌아가므로 접속이 느려집니다.
  • 규칙 세트를 받지 못함: 구독의 rule-providers는 네트워크로 가져와야 하는데, 실패하면 마지막 MATCH 한 줄만 남아 전역 프록시와 같아집니다.
  • 로컬 오버라이드가 rules 섹션을 대체함: 일부 클라이언트는 override를 지원하며, 오버라이드 파일에 새 rules를 쓰면 원래 구독의 규칙이 무효화됩니다.

웹페이지를 하나씩 여는 대신 규칙 조회 활용

일부 클라이언트는 '규칙' 페이지에서 도메인 조회를 제공합니다. www.google.com을 입력하면 프록시 정책이, www.icbc.com.cn을 입력하면 DIRECT가 매칭되어야 합니다. 웹페이지를 하나씩 여는 것보다 빠르고, 문제가 규칙에 있는지 노드에 있는지 판단하기도 쉽습니다.

자주 묻는 질문과 처리 순서

아래 다섯 가지 상황이 iOS에서 나타나는 대부분의 연결 이상을 다룹니다. 처리 순서는 가장 바깥부터입니다: 먼저 구독을 내려받을 수 있는지, 다음으로 확장이 연결되는지, 마지막에 규칙을 봅니다.

흔한 증상과 대처
증상가능한 원인대처
구독 업데이트 실패링크 만료 또는 현재 네트워크에서 구독 도메인에 접근 불가링크를 복사해 Safari에서 열어보고 내려받아지면 링크는 정상입니다. 아니라면 사용 가능한 다른 구성으로 바꾸거나 셀룰러 네트워크로 다시 시도하세요.
연결은 되지만 웹페이지가 열리지 않음DNS 설정이 잘못됐거나 노드를 쓸 수 없음다른 노드로 전환하고 DNS를 DoH 주소(예: https://223.5.5.5/dns-query)로 변경
연결 몇 분 후 자동으로 끊김네트워크 확장 메모리 초과로컬 규칙 수를 줄이고 원격 규칙 세트로 전환, '항상' 온디맨드 연결 끄기
배터리 소모가 두드러짐전역 모드, 잦은 자동 속도 측정규칙 모드로 되돌리고 자동 속도 측정 간격을 늘리거나 끄기
특정 앱이 인터넷에 연결되지 않음해당 앱이 잘못된 정책을 타거나 프록시로 감지됨규칙에 해당 도메인을 DIRECT로 추가하거나 그 앱의 프록시를 끄기

지연 시간 측정값 읽는 법

클라이언트의 지연 시간 테스트는 보통 http://www.gstatic.com/generate_204 같은 주소에 접속하며 TCP 핸드셰이크 시간만 반영할 뿐 실제 대역폭을 뜻하지 않습니다. 측정 자체가 트래픽을 쓰므로 셀룰러에서는 자동 측정을 꺼두고 필요할 때 한 번씩 직접 실행하세요.

앱을 삭제하면 로컬 설정도 지워짐

iOS 앱 샌드박스는 앱을 지우면 함께 삭제되므로 다시 설치한 뒤 구독 링크를 새로 가져와야 합니다. 구독 주소는 클라이언트 안에만 두지 말고 비밀번호 관리자나 개인 메모에 보관하세요.

구독 링크는 자격 증명

링크 안의 token으로 노드 정보를 받을 수 있습니다. 캡처, 전달, 공개 저장소 업로드 모두 유출로 이어집니다. 유출이 확인되면 서버 쪽에서 구독 주소를 재설정한 뒤 클라이언트에서 다시 가져와야 합니다.

Clash 다운로드