문제 해결¶
Debug 모드 활성화¶
다음 구성을 통해 SDK의 Debug 기능을 활성화할 수 있습니다. 활성화 후 Android 시스템에서는 Flutter 컴파일 도구에서 출력되는 Debug 로그를 직접 확인할 수 있으며, iOS에서는 Xcode를 통해 컴파일 및 실행하거나 MacOS 콘솔 앱을 통해 확인해야 합니다.
참고: Release 버전을 배포할 때는 이 구성을 비활성화하는 것이 좋습니다.
Android Logcat 및 iOS Xcode Console 로그 예시
SDK가 정상 실행되지만 데이터가 없는 경우¶
-
Datakit가 정상 실행 중인지 확인하세요.
-
SDK 업로드 주소
datakitUrl또는datawayUrl이 올바르게 설정되었고, 올바르게 초기화되었는지 확인하세요. debug 모드에서 Android Logcat 또는 iOS Xcode Console의 동기 로그를 확인하세요. -
datakit가 해당 워크스페이스에 데이터를 업로드하고 있는지, 오프라인 상태인지 확인하세요. Guance에 로그인하여 「인프라」를 확인하면 이 문제를 확인할 수 있습니다.
컴파일 중 pod 오류 발생¶
CocoaPods could not find compatible versions for pod "FTMobileSDK/FTMobileAgent"¶
[!] CocoaPods could not find compatible versions for pod "FTMobileSDK/FTMobileAgent":
In snapshot (Podfile.lock):
FTMobileSDK/FTMobileAgent (= 1.3.9-alpha.14)
In Podfile:
ft_mobile_agent_flutter (from `.symlinks/plugins/ft_mobile_agent_flutter/ios`) was resolved to 0.0.2, which depends on
FTMobileSDK/FTMobileAgent (= 1.3.10-beta.2)
You have either:
* out-of-date source repos which you can update with `pod repo update` or with `pod install --repo-update`.
* changed the constraints of dependency `FTMobileSDK/FTMobileAgent` inside your development pod `ft_mobile_agent_flutter`.
You should run `pod update FTMobileSDK/FTMobileAgent` to apply changes you've made.
iOS 앱을 컴파일할 때 위와 같은 버전 관련 문제가 발생하면, 터미널에서 flutter 프로젝트의 ios 폴더로 이동하여 다음 명령어를 실행하세요.
The Swift pod ft_mobile_agent_flutter depends upon FTMobileSDK, which does not define modules¶
ft_mobile_agent_flutter ≤ 0.5.6 에서 CocoaPods 구성이 use_module_headers! 또는 use_frameworks!를 명시적으로 지정하지 않은 경우, pod install 실행 시 다음과 같은 오류가 발생합니다.
[!] The following Swift pods cannot yet be integrated as static libraries:
The Swift pod `ft_mobile_agent_flutter` depends upon `FTMobileSDK`, which does not define modules. To opt into those targets generating module maps (which is necessary to import them from Swift when building as static libraries), you may set `use_modular_headers!` globally in your Podfile, or specify `:modular_headers => true` for particular dependencies.
문제 원인: ft_mobile_agent_flutter(Swift 개발)가 OC 라이브러리 FTMobileSDK에 의존하지만, FTMobileSDK.podspec에 DEFINES_MODULE = YES 구성이 누락되어 iOS 정적 라이브러리 컴파일 시 module을 찾을 수 없다는 오류가 발생합니다.
해결 방법: 프로젝트의 Podfile 파일에서 target 'Runner' do 코드 블록 내에 다음 구성을 추가하세요.
target 'Runner' do
flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__))
pod 'FTMobileSDK', :modular_headers => true
end
참고: :modular_headers => true 추가는 컴파일 구성 보완일 뿐, SDK를 중복으로 가져오는 것이 아닙니다.
데이터 손실¶
일부 데이터 손실¶
- RUM의 특정 Session 데이터 또는 Log, Trace의 몇몇 데이터가 손실된 경우, 먼저 FTRUMManager.setConfig, FTLogger.logConfig, FTTracer.setConfig에서
sampleRate < 1로 설정되었는지 확인하세요. -
수집된 RUM 데이터가 완전하지 않고, Resource 또는 Action 데이터가 없는 경우?
Resource 및 Action 데이터는 View와 바인딩되므로,
startView작업이 있는지 확인해야 합니다. RUM View 문서를 참조하여 View 이벤트 수집을 구현하세요. -
데이터를 업로드하는 장치의 네트워크와 datakit가 설치된 장치의 네트워크 및 부하 문제를 확인하세요.
