XuqmGroup-Web/docs-site/docs/ios/update.md
XuqmGroup 6cd938cfbc feat(android-sdk): 添加完整的IM客户端SDK实现
- 实现了Android SDK的完整IM功能接口,包括消息、群组、好友、会话等核心功能
- 添加了消息收发、历史记录、撤回编辑等完整的消息操作能力
- 实现了群组管理功能,包括创建、成员管理、权限设置等操作
- 添加了好友关系链管理,支持添加、删除、分组等操作
- 实现了会话管理功能,包括置顶、免打扰、已读状态等
- 添加了黑名单、资料管理、搜索等辅助功能
- 补齐了批量操作接口,提升客户端操作效率
- 实现了WebSocket连接管理和事件监听机制
- 添加了离线消息同步和状态管理功能
2026-05-02 22:57:55 +08:00

2.1 KiB

iOS 版本更新接入指南

模块XuqmUpdate · 功能App 版本检查、App Store 跳转


1. 添加依赖

Package.swift 中按需引入:

.target(
    name: "MyApp",
    dependencies: [
        .product(name: "XuqmUpdate", package: "XuqmGroup-iOSSDK"),
    ]
)

2. 检查更新

import XuqmUpdate

let appInfo = try await UpdateSDK.shared.checkAppUpdate(currentVersionCode: 1)
if let info = appInfo, info.needsUpdate {
    print("发现新版本: \(info.versionName ?? "")")
    print("更新日志: \(info.changeLog ?? "")")
    
    if info.forceUpdate == true {
        // 强制更新
        showForceUpdateAlert(info)
    } else {
        // 可选更新
        showOptionalUpdateAlert(info)
    }
}

3. 跳转 App Store

if let url = appInfo?.appStoreUrl {
    UpdateSDK.shared.openAppStore(url: url)
}

openAppStore 会调用 UIApplication.shared.open() 打开 App Store 页面,引导用户前往商店更新。


4. 强制更新处理

当服务端返回 forceUpdate = true 时,建议业务层:

  1. 弹出 UIAlertController,设置 isUserInteractionEnabled = false 禁止关闭
  2. 只允许用户点击「前往更新」
  3. 调用 UpdateSDK.shared.openAppStore(url:) 跳转 App Store
func showForceUpdateAlert(_ info: AppUpdateInfo) {
    let alert = UIAlertController(
        title: "发现重要更新",
        message: "当前版本已不可用,请升级至 \(info.versionName ?? "最新版")",
        preferredStyle: .alert
    )
    alert.addAction(UIAlertAction(title: "前往更新", style: .default) { _ in
        if let url = info.appStoreUrl ?? info.downloadUrl {
            UpdateSDK.shared.openAppStore(url: url)
        }
    })
    present(alert, animated: true)
}

5. 多模块统一登录

Update 模块与 IM、Push 模块共享同一套登录态:

// 初始化
XuqmSDK.shared.initialize(config: config)

// 登录(业务登录成功后调用一次)
try await XuqmSDK.shared.login(userId: "user_001", userSig: userSig)
// UpdateSDK 在 checkAppUpdate 时自动携带 appId,无需额外登录操作