Post

Swift: iOS에서 Custom URL Scheme 등록해서 url로 앱 열기

Swift: iOS에서 Custom URL Scheme 등록해서 url로 앱 열기

iOS에서 Custom URL Scheme를 등록하는 방법입니다.


1. 메인 앱에 URL Scheme 등록

먼저 ImageTranslator 앱의 Info.plist에 다음을 추가하세요.

1
2
3
4
5
6
7
8
9
<key>CFBundleURLTypes</key>
<array>
  <dict>
    <key>CFBundleURLSchemes</key>
    <array>
      <string>imagetranslator</string> <!-- 원하는 이름 -->
    </array>
  </dict>
</array>

이것을 Property List 뷰로 보면 다음과 같습니다.

Propety List View

→ 이렇게 하면 imagetranslator:// 로 시작하는 URL을 iOS가 내 앱으로 연결해줍니다.

참고: Info.plist 파일이 없을 때

2. 메인 앱에서 URL 감지

UIKit의 SceneDelegate 또는 @main의 SwiftUI App 구조에서 이 URL을 감지해야 합니다.

SceneDelegate 방식 (UIKit 기반)

1
2
3
4
5
6
func scene(_ scene: UIScene, openURLContexts URLContexts: Set<UIOpenURLContext>) {
  guard let url = URLContexts.first?.url else { return }
  if url.absoluteString.hasPrefix("imagetranslator://open-from-extension") {
    // ✅ 해야 할 작업 작성
  }
}

SwiftUI App 방식

1
2
3
4
5
6
7
8
9
10
11
12
13
@main
struct ImageTranslatorApp: App {
  var body: some Scene {
    WindowGroup {
      ContentView()
        .onOpenURL { url in
          if url.absoluteString.hasPrefix("imagetranslator://open-from-extension") {
            // ✅ 해야 할 작업 작성
          }
        }
    }
  }
}

3. URL 로 앱 열기

  • 사파리 등 웹 브라우저에서 주소창에 imagetranslator://open-from-extension를 입력하면 앱이 열리는지 확인합니다.
This post is licensed under CC BY 4.0 by the author.