← ClaudeAtlas

bmob-database-swiftlisted

Use when implementing Bmob NoSQL database CRUD with the pure Swift BmobSwiftSDK for iOS 15+ / macOS 12+ using Swift Package Manager or CocoaPods, import BmobSDK, async/await, Bmob.initialize(appKey:), BmobObject, BmobQuery, BmobUser, BmobFile, BmobPointer, BmobRelation, BmobGeoPoint, BmobACL, CloudFunction. NOT for legacy Objective-C BmobSDK / Bridging Header projects (use bmob-database-ios), JavaScript / WeChat Mini Program (use bmob-database-javascript), Android (use bmob-database-android), Flutter / Dart (use bmob-database-flutter), or raw HTTP from other languages (use bmob-database-restful). If Bmob MCP is configured, call get_project_tables via bmob-mcp before writing code.
bmob/agent-skills · ★ 3 · API & Backend · score 79
Install: claude install-skill bmob/agent-skills
# Bmob Database — Pure Swift SDK 纯 Swift SDK `BmobSwiftSDK` 面向 iOS 15+ / macOS 12+,使用 Swift Package Manager 或 CocoaPods 安装,API 以 `async/await`、`Bmob.initialize(appKey:)`、`BmobObject`、`BmobQuery` 为核心。 如果项目使用旧版 Objective-C `BmobSDK`、`BmobSDK.xcframework`、Bridging Header 或 `saveInBackgroundWithResultBlock`,改读 [`bmob-database-ios`](../bmob-database-ios/SKILL.md)。 ## 核心原则 1. **先确认 SDK 形态**:纯 Swift SDK 的包名是 `BmobSwiftSDK`,导入模块通常是 `import BmobSDK`;旧 iOS SDK 是 Objective-C framework + Bridging Header。 2. **最低环境**:Xcode 15.0+、Swift 5.9+、iOS 15.0+、macOS 12.0+。 3. **初始化是异步的**:启动早期 `try await Bmob.initialize(appKey:)`;业务请求前必要时检查 `await Bmob.isReady`。 4. **数据表默认用 `BmobObject(className:)`**:字段通过下标读写,更新 / 删除必须带 `objectId`。 5. **查询用链式 `BmobQuery`**:`whereKey`���`order`、`limit`、`skip`、`includeKey` 都返回 query,最后 `try await find()` / `get(objectId:)`。 6. **上线域名必须在初始化前设置**:私有云或备案域名用 `Bmob.resetDomain(...)`,顺序在 `initialize` 之前。 ## 安全清单 - [ ] 示例只放 `"YOUR_APP_KEY"` / `"your-application-id"`,不要 commit 真实 AppKey。 - [ ] 客户端不要携带 Master Key;需要管理能力时改走服务端、REST 管理脚本或 MCP。 - [ ] 写入业务表时设置 ACL(如 `BmobACL`),避免默认权限导致任意用户读写。 - [ ] 用户密码只通过 `BmobUser` 注册、登录、改密 API 处理,不要当普通字段更新。 - [ ] 文件上传前确认来源、大小、MIME 类型;不要把本地绝对路径写进业务表。 - [ ] release 前确认 `resetDomain` 使用备案/私有云域名,且调用顺序早于初始化。 ## 快速开始 ### 安装 Swift Package Manager: ```swift dependencies: [ .package(url: "https://github.com/bmob/BmobSwiftSDK", from: "1.0.2") ], targets: [ .target(name: "YourApp", dependencies: [ .product(name: "BmobSDK", package