迁移到 App Center SDK 4.0.0 及更高版本

重要

Visual Studio App Center 于 2025 年 3 月 31 日停用,但分析和诊断功能除外,这些功能将继续受支持,直到 2026 年 6 月 30 日。 了解详细信息

为了避免与 Apple 专用框架中的类发生命名冲突,SDK 现在使用 MSAC 前缀而不是 MS 更改 SDK API。

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。

应用中心核心较低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 .info
MSLogLevelAssert MSACLogLevelAssert 。断言
MSLogHandler MSACLogHandler LogHandler
MSLogMessageProvider MSACLogMessageProvider 日志消息提供者
App Center Analytics 的水平较低 4.0.0 App Center Analytics 4.0.0+(ObjC) App Center Alanlytics 4.0.0+ (Swift)
MSAnalytics MSACAnalytics Analytics
MSFlags MSACFlags 旗帜
MSFlagsNormal MSACFlagsNormal 标志.正常
MSFlagsCritical MSAC标志关键性 。危急
MSFlagsDefault MSACFlags默认值 默认
MSEventProperties MSACEventProperties EventProperties
App Center 崩溃次数减少 4.0.0 App Center 崩溃 4.0.0+ (ObjC) App Center 崩溃 4.0.0+ (Swift)
MSCrashes MSAC 崩溃 故障
MSCrashesDelegate MSACCrashesDelegate CrashesDelegate
MSErrorReport MSACErrorReport 错误报告
MSErrorAttachmentLog MSACErrorAttachmentLog 错误附件日志
用户确认不发送 不发送用户确认MSAC 用户确认.不发送
MS用户确认发送 MSACUserConfirmationSend 。发送
MSUserConfirmationAlways MSACUserConfirmationAlways 。总是
MSUserConfirmationHandler (用户确认处理程序) MSAC用户确认处理程序 UserConfirmationHandler
App Center 分发 lower 4.0.0 App Center Distribute 4.0.0+ (ObjC) App Center Distribute 4.0.0+ [Swift]
MSDistribute MSACDistribute 分发
MSDistributeDelegate MSACDistributeDelegate DistributeDelegate
MSCrashHandlerSetupDelegate MSACCrashHandlerSetupDelegate CrashHandlerSetupDelegate
MSReleaseDetails MSACReleaseDetails 发布详情
MSUpdateAction MSACUpdateAction UpdateAction
MSUpdateActionUpdate MSAC更新操作更新 UpdateAction.update
微软更新操作推迟 推迟更新操作 .推迟
MSUpdateTrack MSACUpdateTrack UpdateTrack
MSUpdateTrackPublic MSACUpdateTrackPublic UpdateTrack.public
MSUpdateTrackPrivate MSACUpdateTrackPrivate 私人

Swift API 更改

应用中心核心较低4.0.0 App Center Core 4.0.0+
MSAppCenter.isEnabled() AppCenter.enabled
MSAppCenter.setEnabled(true) AppCenter.enabled = true
MSAppCenter.isConfigured() AppCenter.isConfigured
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() 服务概览.是否需要应用密钥
MSAppCenter.addChannelUnitWithConfiguration(配置) 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(服务:[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.传输间隔时间 = 600
App Center 崩溃次数减少 4.0.0 App Center 崩溃 4.0.0+
MSCrashes.isEnabled() 崩溃.启用
MSCrashes.setEnabled(true) Crashes.enabled = true(崩溃.启用 = true)
MSCrashes.setDelegate(delegate) Crashes.delegate = 委托
MSCrashes.hasCrashedInLastSession() Crashes.hasCrashedInLastSession # 在上一个会话中是否崩溃
MSCrashes.hasReceivedMemoryWarningInLastSession(查询上次会话中是否收到内存警告) Crashes.上一次会话中是否收到内存警告
MSErrorReport.isAppKill() ErrorReport.isAppKill
MSCrashes.lastSessionCrashReport() 崩溃.上一次会话崩溃报告
MSCrashes.setAutomaticProcessing(true) Crashes.automaticProcessing = true
MSWrapperCrashesHelper.getCrashHandlerSetupDelegate Wrapper CrashHelper.crashHandlerSetupDelegate
MSWrapperCrashesHelper.setCrashHandlerSetupDelegate(delegate) WrapperCrashesHelper.crashHandlerSetupDelegate = delegate
MSCrashes.setUserConfirmationHandler(handler) Crashes.userConfirmationHandler = handler
App Center 分发 lower 4.0.0 App Center Distribut 4.0.0+
MSDistribute.isEnabled() 分发.已启用
MSDistribute.setEnabled(true) Distribute.enabled = true (启用分发)
MSDistribute.setDelegate(delegate) Distribute.delegate = 委托
MSDistribute.setApiUrl(“{API URL}”) Distribute.apiUrl = “{API URL}”
MSDistribute.setInstallUrl(“{Install URL}”) Distribute.installUrl = “{Install 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]

DistributDelegate 更改

在更新 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