다음을 통해 공유


App Center SDK 4.0.0 이상으로 마이그레이션

중요

Visual Studio App Center는 2025년 3월 31일에 사용 중지될 예정입니다. Visual Studio App Center가 완전히 사용 중지될 때까지 계속 사용할 수 있지만 마이그레이션을 고려할 수 있는 몇 가지 권장 대안이 있습니다.

지원 타임라인 및 대안에 대해 자세히 알아봅니다.

Apple의 프라이빗 프레임워크에서 클래스와 명명 충돌을 방지하기 위해 SDK는 이제 SDK API를 변경하는 대신 MS 접두사를 사용합니다MSAC.

Swift API는 이제 더 빠른 스타일을 가지며, 접두사(예: )를 사용하지 않고 모든 클래스를 사용해야 합니다. AppCenter Apple Swift 모범 사례에 따라 함수 및 속성 명명에도 변경 내용이 있습니다.

App Center SDK 업데이트

먼저 종속성 관리자 중 하나를 사용하여 App Center SDK를 업데이트합니다.

API 사용

App Center SDK API를 업데이트하는 가장 빠르고 편리한 방법은 자동 고침을 사용하는 것입니다. 교체 후 아래와 같이 결과를 가져와야 합니다.

App Center SDK를 이상으로 업데이트하기 전에 4.0.0

[MSAppCenter start:@"{Your App Secret}" withServices:@[[MSAnalytics class], [MSCrashes class]]];
MSAppCenter.start("{Your App Secret}", withServices: [MSAnalytics.self, MSCrashes.self])

App Center SDK를 이상으로 업데이트한 4.0.0

[MSACAppCenter start:@"{Your App Secret}" withServices:@[[MSACAnalytics class], [MSACCrashes class]]];
AppCenter.start(withAppSecret: "{Your App Secret}", services: [Analytics.self, Crashes.self])

또한 getter [MSACWrapperCrashesHelper getCrashHandlerSetupDelegate] 는 이제 더 이상 사용되지 않습니다. 대신 를 사용 [MSACWrapperCrashesHelper crashHandlerSetupDelegate] 하세요.

다음 표에서는 이름이 변경된 API를 보여 줍니다.

App Center Core 아래쪽 4.0.0 App Center Core 4.0.0+ (ObjC) App Center Core 4.0.0+ (Swift)
MSAppCenter MSACAppCenter AppCenter
MSLogLevel MSACLogLevel LogLevel
MSLogLevelVerbose MSACLogLevelVerbose LogLevel.verbose
MSLogLevelWarning MSACLogLevelWarning .경고
MSLogLevelInfo MSACLogLevelInfo .정보
MSLogLevelAssert MSACLogLevelAssert .주장
MSLogHandler MSACLogHandler LogHandler
MSLogMessageProvider MSACLogMessageProvider LogMessageProvider
App Center Analytics 하위 4.0.0 App Center Analytics 4.0.0+ (ObjC) App Center Alanlytics 4.0.0+ (Swift)
MSAnalytics MSACAnalytics 분석
MSFlags MSACFlags 플래그
MSFlagsNormal MSACFlagsNormal Flags.normal
MSFlagsCritical MSACFlagsCritical .중요
MSFlagsDefault MSACFlagsDefault .기본
MSEventProperties MSACEventProperties EventProperties
App Center가 더 낮게 충돌합니다. 4.0.0 App Center 충돌 4.0.0+ (ObjC) App Center 충돌 4.0.0+ (Swift)
MSCrashes MSACCrashes 크래시
MSCrashesDelegate MSACCrashesDelegate CrashesDelegate
MSErrorReport MSACErrorReport ErrorReport
MSErrorAttachmentLog MSACErrorAttachmentLog ErrorAttachmentLog
MSUserConfirmationDontSend MSACUserConfirmationDontSend UserConfirmation.dontSend
MSUserConfirmationSend MSACUserConfirmationSend .보내기
MSUserConfirmationAlways MSACUserConfirmationAlways .항상
MSUserConfirmationHandler MSACUserConfirmationHandler UserConfirmationHandler
App Center 하위 배포 4.0.0 App Center 배포 4.0.0+ (ObjC) App Center 배포 4.0.0+ (Swift)
MSDistribute MSACDistribute 배포
MSDistributeDelegate MSACDistributeDelegate DistributeDelegate
MSCrashHandlerSetupDelegate MSACCrashHandlerSetupDelegate CrashHandlerSetupDelegate
MSReleaseDetails MSACReleaseDetails ReleaseDetails
MSUpdateAction MSACUpdateAction UpdateAction
MSUpdateActionUpdate MSACUpdateActionUpdate UpdateAction.update
MSUpdateActionPostpone MSACUpdateActionPostpone .연기
MSUpdateTrack MSACUpdateTrack UpdateTrack
MSUpdateTrackPublic MSACUpdateTrackPublic UpdateTrack.public
MSUpdateTrackPrivate MSACUpdateTrackPrivate .개인

Swift API 변경 내용

App Center Core 아래쪽 4.0.0 App Center Core 4.0.0+
MSAppCenter.isEnabled() AppCenter.enabled
MSAppCenter.setEnabled(true) AppCenter.enabled = true
MSAppCenter.isConfigured() AppCenter.is 구성됨
MSAppCenter.isRunningInAppCenterTestCloud() AppCenter.isRunningInAppCenterTestCloud
MSAppCenter.isAppDelegateForwarderEnabled() AppCenter.isAppDelegateForwarderEnabled
MSAppCenter.installId() AppCenter.installId
MSAppCenter.isDebuggerAttached() AppCenter.isDebuggerAttached
MSAppCenter.sdkVersion() AppCenter.sdkVersion
MSAppCenter.setLogUrl("{Log Url}") AppCenter.logUrl = "{Log Url}"
MSAppCenter.setLogLevel(.verbose) AppCenter.logLevel = .verbose
MSAppCenter.setLogHandler(logHandler) AppCenter.logHandler = logHandler
MSAppCenter.SetUserId("{User Id}") AppCenter.userId = "{User Id}"
MSAppCenter.setCountryCode("{Country Code}") AppCenter.countryCode = "{Country Code}"
MSAppCenter.setAppSecret("{App Secret}") AppCenter.appSecret = "{App Secret}"
MSAppCenter.setString("value", forKey: "key") AppCenter.setString("value", for: "key")
MSServiceAbstract.isAppSecretRequired() ServiceAbstract.isAppSecretRequired
MSAppCenter.addChannelUnitWithConfiguration(configuration) AppCenter.addChannelUnit(withConfiguration:configuration)
MSAppCenter.configureWithAppSecret("{App Secret}") AppCenter.configure(withAppSecret:"{App Secret}")
MSAppCenter.start("{App Secret}", withServices: [MSAnalytics.self]) AppCenter.start(withAppSecret: "{App Secret}", services: [Analytics.self])
MSAppCenter.startWithServices([MSAnalytics.self, MSCrashes.self]) AppCenter.start(services: [Analytics.self, Crashes.self])
MSAppCenter.startFromLibraryWithServices([MSAnalytics.self]) AppCenter.startFromLibrary(services: [Analytics.self]) ")
App Center Analytics 하위 4.0.0 App Center Analytics 4.0.0+
MSAnalytics.isEnabled() Analytics.enabled
MSAnalytics.setEnabled(true) Analytics.enabled = true
MSAnalytics.setTransmissionInterval(600) Analytics.transmissionInterval = 600
App Center가 더 낮게 충돌합니다. 4.0.0 App Center 충돌 4.0.0+
MSCrashes.isEnabled() Crashes.enabled
MSCrashes.setEnabled(true) Crashes.enabled = true
MSCrashes.setDelegate(delegate) Crashes.delegate = delegate
MSCrashes.hasCrashedInLastSession() Crashes.hasCrashedInLastSession
MSCrashes.hasReceivedMemoryWarningInLastSession() Crashes.hasReceivedMemoryWarningInLastSession
MSErrorReport.isAppKill() ErrorReport.isAppKill
MSCrashes.lastSessionCrashReport() Crashes.lastSessionCrashReport
MSCrashes.setAutomaticProcessing(true) Crashes.automaticProcessing = true
MSWrapperCrashesHelper.getCrashHandlerSetupDelegate WrapperCrashesHelper.crashHandlerSetupDelegate
MSWrapperCrashesHelper.setCrashHandlerSetupDelegate(delegate) WrapperCrashesHelper.crashHandlerSetupDelegate = delegate
MSCrashes.setUserConfirmationHandler(handler) Crashes.userConfirmationHandler = handler
App Center 하위 배포 4.0.0 App Center 배포 4.0.0+
MSDistribute.isEnabled() Distribute.enabled
MSDistribute.setEnabled(true) Distribute.enabled = true
MSDistribute.setDelegate(delegate) Distribute.delegate = delegate
MSDistribute.setApiUrl("{API URL}") Distribute.apiUrl = "{API URL}"
MSDistribute.setInstallUrl("{Install URL}") Distribute.installUrl = "{Instal URL}"
MSDistribute.isMandatoryUpdate Distribute.mandatoryUpdate

CrashesDelegate 변경 내용

App Center SDK를 이상으로 업데이트하기 전에 4.0.0

func crashes(_ crashes: MSCrashes!, shouldProcessErrorReport errorReport: MSErrorReport!) -> Bool

func crashes(_ crashes: MSCrashes!, willSend errorReport: MSErrorReport!)

func crashes(_ crashes: MSCrashes!, didSucceedSending errorReport: MSErrorReport!)

func crashes(_ crashes: MSCrashes!, didFailSending errorReport: MSErrorReport!, withError error: Error!)

func attachments(with crashes: MSCrashes, for errorReport: MSErrorReport) -> [MSErrorAttachmentLog]

App Center SDK를 이상으로 업데이트한 4.0.0

func crashes(_ crashes: Crashes, shouldProcess errorReport: ErrorReport) -> Bool

func crashes(_ crashes: Crashes, willSend errorReport: ErrorReport)

func crashes(_ crashes: Crashes, didSucceedSending errorReport: ErrorReport)

func crashes(_ crashes: Crashes, didFailSending errorReport: ErrorReport, withError error: Error)

func attachments(with crashes: Crashes, for errorReport: ErrorReport) -> [ErrorAttachmentLog]

DistributeDelegate 변경 내용

App Center SDK를 이상으로 업데이트하기 전에 4.0.0

func distribute(_ distribute: MSDistribute!, releaseAvailableWith details: MSReleaseDetails!) -> Bool

App Center SDK를 이상으로 업데이트한 4.0.0

  func distribute(_ distribute: Distribute, releaseAvailableWith details: ReleaseDetails) -> Bool