XuqmGroup-Web/docs-site/docs/ios/update.md
XuqmGroup 277e8ed7c6 feat(im): 添加即时消息SDK核心功能实现
- 实现了聊天消息发送功能,支持文本、图片、视频、音频、文件等多种消息类型
- 集成了文件上传下载功能,支持多媒体文件的传输和管理
- 添加了群组管理功能,包括创建群组、成员管理、权限控制等操作
- 实现了好友系统,支持好友添加、删除、分组等功能
- 集成了黑名单管理,提供用户屏蔽和解除屏蔽功能
- 添加了会话管理功能,支持对话列表、未读消息统计等
- 实现了历史消息查询和搜索功能
- 添加了实时连接状态管理和自动重连机制
2026-05-03 00:11:06 +08:00

128 行
2.8 KiB
Markdown

此文件含有模棱两可的 Unicode 字符

此文件含有可能会与其他字符混淆的 Unicode 字符。 如果您是想特意这样的,可以安全地忽略该警告。 使用 Escape 按钮显示他们。

# iOS 版本更新接入指南
**模块**`XuqmUpdate` · **功能**App 版本检查、App Store 跳转
---
## 1. 添加依赖
`Package.swift` 中按需引入:
```swift
.target(
name: "MyApp",
dependencies: [
.product(name: "XuqmUpdate", package: "XuqmGroup-iOSSDK"),
]
)
```
---
## 2. 检查更新
```swift
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
```swift
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
```swift
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 模块共享同一套登录态:
```swift
// 初始化
XuqmSDK.shared.initialize(config: config)
// 登录(业务登录成功后调用一次)
try await XuqmSDK.shared.login(userId: "user_001", userSig: userSig)
// UpdateSDK 在 checkAppUpdate 时自动携带 appKey,无需额外登录操作
```
---
## 6. 一键打包上传
SDK 提供 Fastlane `xuqm_release` lane,可一键完成 Archive、导出并上传至 XuqmGroup 版本管理服务:
```bash
fastlane xuqm_release
```
`Fastfile` 示例配置:
```ruby
lane :xuqm_release do
gym(
scheme: "MyApp",
export_method: "app-store",
output_directory: "build"
)
xuqm_upload(
ipa_path: "build/MyApp.ipa",
release_notes: File.read("CHANGELOG.md"),
force_update: false
)
end
```
任务执行流程:
1. 执行 `gym` 构建 Release IPA
2. 自动提取版本号、build 号、更新日志
3. 上传 IPA 到 XuqmGroup 后台
4. 返回发布结果