Swift Markdown Kit · DOCS
事件与授权
事件与授权
事件
| 事件 | 触发时机 |
|---|---|
.ready | 渲染器加载完成,排队的命令开始执行。 |
.rendered(height:) | 每个内容周期恰好两次:首帧上屏,以及最终 flush。 |
.heightChanged(_) | 期间的高度变化 —— 流式 flush、图片加载、Dynamic Type。流式进行中会防抖。 |
.viewportChanged(_) | 滚动位置与是否接近底部,供原生智能滚动控件使用。 |
.messageAction(_) | 用户点击整条消息的复制、重试或编辑。 |
.action(_) | 链接、图片、任务、扩展点击,以及代码复制结果。 |
.error(_) | 结构化失败,带稳定的 code。 |
授权错误码
| code | 含义 |
|---|---|
licenseMissing | 真机构建,Copy Bundle Resources 里没有 .smklicense。 |
licenseInvalid | 信封不是 v2、签名错误、payload 格式非法,或 licenseType 不受支持。 |
licenseUnauthorizedBundleId | 授权未包含当前的 Bundle.main.bundleIdentifier。 |
expiredTrialLicense | 试用授权,当前时间已超过 validUntil。 |
sdkReleaseNotCovered | 生产授权,SDK 的发布时间晚于授权的 updatesUntil,需要续期。 |
releaseMetadataMissing | Framework 缺少发布时间元数据,说明构建本身有误。 |
授权模型
授权文件用 Ed25519 签名,在设备上离线校验,不会向任何服务器发请求。
- 模拟器 —— 不需要授权,无条件渲染。
- 真机试用 —— 自签发起 30 天内可用,之后停止工作。
- 真机生产 —— 只要 SDK 的发布日期不晚于授权的
updatesUntil就能运行, 从不检查设备时间。所以你已经上架的 App 不会因为更新窗口结束而停止工作, 只有窗口之后发布的新 SDK 版本需要续期。