Skip to main content
이 문서는 기존 AppDelegate 기반 앱을 SceneDelegate(UIScene 생명주기)로 전환해야 하는 고객을 위한 트러블슈팅 가이드입니다.

문제 현상

  • Xcode 27에서 빌드한 앱을 실행하면 화면이 흰 화면으로 표시되거나, 앱이 정상적으로 그려지지 않습니다.
  • 스킴 딥링크(Scheme Deeplink) 또는 유니버설 링크(Universal Links)로 앱에 진입해도 Airbridge 딥링크 이벤트가 수집되지 않습니다.
  • 개발자 가이드의 SDK 초기화하기와 딥링크 설정하기 예제 중 AppDelegate 방식대로 코드를 작성했는데도 동작하지 않습니다.

발생 원인

Apple은 앱 생명주기를 UIApplicationDelegate(AppDelegate) 단독 방식에서 UIScene 기반(SceneDelegate) 방식으로 전환하고 있으며, 최신 Xcode/iOS에서는 Scene 생명주기 채택이 사실상 필수가 되었습니다.앱이 UIApplicationSceneManifest를 통해 Scene 생명주기를 채택하면, 다음 AppDelegate 콜백은 더 이상 호출되지 않습니다.

해결 방법

1. Info.plist에 Scene Manifest 추가
Info.plist에 아래 UIApplicationSceneManifest를 추가합니다.UISceneDelegateClassName 값은 사용하는 언어/모듈에 맞게 지정합니다.
  • Objective-C: SceneDelegate
  • Swift: $(PRODUCT_MODULE_NAME).SceneDelegate
2. SceneDelegate 생성 및 딥링크 수집 코드를 SceneDelegate로 이전
3. AppDelegate 정리
  • SDK 초기화 코드(Airbridge.initializeSDK(option:), Objective-C: [Airbridge initializeSDKWithOption:])는 application:didFinishLaunchingWithOptions:에 그대로 둡니다.
  • 딥링크 수집을 위해 작성했던 application:open:options:(application:openURL:options:)와 application:continue:restorationHandler:의 trackDeeplink/handleDeeplink 호출 코드는 Scene 생명주기에서 호출되지 않으므로, SceneDelegate로 이전한 뒤 AppDelegate에서는 삭제합니다.
  • application:didFinishLaunchingWithOptions:에서 window를 생성하고 rootViewController를 설정했다면, 해당 코드도 SceneDelegate의 scene:willConnectTo:options:로 이전해야 합니다. Scene 생명주기에서는 window를 SceneDelegate가 소유하므로, AppDelegate에 남겨두면 화면이 표시되지 않습니다.

문제 현상

4.x.x에서 4.9.0으로 SDK를 업데이트하여 빌드 했을 때, `Undefined symbol: static Airbridge.Airbridge.~` 오류로 인해서 빌드가 되지 않습니다.

발생 원인

Xcode 빌드 캐시와 업데이트된 바이너리 간의 불일치로 인해 발생하는 링크 오류로 발생됩니다.

해결 방법

Xcode에서 Clean Build Folder 를 실행한 후 재빌드해 주세요.
4.7.1배포 도중에 4.7.0이 삭제되는 이슈가 발생하여, 4.7.0에 대한 버전이 CocoaPods에 재배포가 되었습니다.CocoaPods이 버전을 찾지 못하거나, 설치한 Pods에 대해서 Checksum 오류가 표시된다면 다음을 진행 해 주세요.

문제 현상

Password AutoFill 기능으로 저장된 암호의 도메인이 airbridge.io 또는 abr.ge로 보이는 현상이 앱을 사용하는 유저에게 발생할 수 있습니다.

발생 원인

에어브릿지 SDK의 딥링크를 설정한 후에 Password AutoFill 기능을 활용하면 도메인이 에어브릿지 딥링크의 앱 링크(applinks) 도메인 airbridge.io 또는 abr.ge로 저장됩니다.

해결 방법

Password AutoFill에 사용하는 webcredentials 도메인을 설정하면 문제를 해결할 수 있습니다.
  1. 암호를 저장하는 도메인을 준비해주세요.
  2. 아래 JSON을 https://YOUR_DOMAIN/.well-known/apple-app-site-association에 Content-Type: application/json으로 호스팅합니다. 준비한 도메인이 YOUR_DOMAIN입니다.
애플 개발자 대시보드의 [Identifiers]>[YOUR_APP]에서 App ID Prefix, Bundle ID를 확인할 수 있습니다.
  1. Xcode의 [YOUR_PROJECT]>[Signing & Capabilities]로 이동합니다.
  2. ’+ Capability’를 클릭해 Associated Domains를 추가합니다. Associated Domains에 webcredentials:YOUR_DOMAIN을 입력합니다.

문제 현상

App Store에 앱 업로드 시 Xcode에 Airbridge framework에 dSYM이 포함되어 있지 않다는 경고 메세지가 나타나는 현상

발생 원인

Airbridge iOS SDK에서 dSYM을 지원하고 있지 않습니다.

해결 방법

다음 버전에서 dSYM 지원을 개발 중에 있습니다. 해당 경고는 무시해 주세요.