# iOS 安装配置

**版本**：0.2.0 · **最低 iOS 版本**：iOS 16 · **语言**：Swift 5.9+

---

## Swift Package Manager（推荐）

SDK 已发布到 Gitea，在 Xcode → File → Add Package Dependencies 中输入：

```
https://xuqinmin.com/xuqinmin12/XuqmGroup-iOSSDK
```

或在 `Package.swift` 中添加：

```swift
// swift-tools-version: 5.9
import PackageDescription

let package = Package(
    name: "MyApp",
    platforms: [.iOS(.v16)],
    dependencies: [
        .package(url: "https://xuqinmin.com/xuqinmin12/XuqmGroup-iOSSDK", from: "0.2.0")
    ],
    targets: [
        .target(
            name: "MyApp",
            dependencies: [
                .product(name: "XuqmSDK", package: "XuqmGroup-iOSSDK")
            ]
        )
    ]
)
```

> 目前 iOS SDK 以单模块 `XuqmSDK` 发布，内部包含 Core、IM、Push、Update 子模块。

---

## 最低 iOS 版本

- iOS 16.0+
- macOS 13.0+（如需 Mac Catalyst）
- Xcode 16.0+

---

## 权限声明

根据业务需要，在 `Info.plist` 中添加以下权限：

### Camera（拍照/视频通话）

```xml
<key>NSCameraUsageDescription</key>
<string>需要访问相机以发送图片或进行视频通话</string>
```

### Photo Library（发送图片/视频）

```xml
<key>NSPhotoLibraryUsageDescription</key>
<string>需要访问相册以发送图片和视频</string>
```

### Microphone（语音消息/语音通话）

```xml
<key>NSMicrophoneUsageDescription</key>
<string>需要访问麦克风以发送语音消息或进行通话</string>
```

---

## 配置文件

从平台控制台下载应用的 `.xuqmconfig` 配置文件（例如 `识校宝.xuqmconfig`），放入 App Bundle 的 `xuqm/` 目录中，随 App 一起打包。SDK 启动时会自动扫描 Bundle 中的 `xuqm/` 目录并读取配置，无需手动指定路径。

---

## 用户信息

SDK 提供用户信息管理接口，用于标识当前用户：

```swift
// 登录后设置用户信息
XuqmSDK.shared.setUserInfo(userId: "user_001")

// 登出时清除
XuqmSDK.shared.clearUserInfo()
```

---

## 初始化

在 `AppDelegate` 或 `SceneDelegate` 中：

```swift
import XuqmSDK

XuqmSDK.shared.initialize(config: config)
```

---

## 下一步

- [iOS IM 接入 →](./im)
- [iOS Push 接入 →](./push)
- [iOS 版本更新 →](./update)
