★★★★★
#데이터·Firebase·보안 · claude-code
iOS App Transport Security (ATS) HTTP 예외 처리
{{APP_NAME}}이 API 서버와 통신할 때, 서버가 HTTPS가 아니라 HTTP일 수 있어(개발/테스트 환경).
#ios#ats#https#network
변수 1개 — 여기 채우면 아래 프롬프트에 바로 들어가요
{{APP_NAME}}이 API 서버와 통신할 때, 서버가 HTTPS가 아니라 HTTP일 수 있어(개발/테스트 환경).
iOS 9+는 기본적으로 HTTPS만 허용하는데, 특정 도메인에 예외를 줄 수 있어.
Info.plist에 추가:
```xml
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<false/>
<key>NSExceptionDomains</key>
<dict>
<key>localhost</key>
<dict>
<key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key>
<true/>
</dict>
</dict>
</dict>
```
주의사항:
- **프로덕션 버전에서는 절대 전체 NSAllowsArbitraryLoads = true 금지** (App Store 거부)
- 특정 도메인만 예외 처리
- "임시(Temporary)"라고 명시해서 개발·테스트용임을 표현
- 테스트 후 반드시 제거
구성 예시 (개발·스테이징·프로덕션 분기), Android의 network_security_config.xml과의 차이, HTTPS로 마이그레이션하는 단계까지 설명해줄래?
쓰는 법 — 위 칸에 본인 값을 채우면 아래 프롬프트에 바로 반영돼요. 복사 버튼을 누르면 채워진 그대로 클립보드에 담기니까, claude-code(또는 본인이 쓰는 AI)에 붙여넣기만 하면 됩니다. 변수가 없으면 그냥 복사해서 쓰세요.

