Edhita:面向开发者的开源 iOS SwiftUI 文本编辑器
什么是 Edhita?
Edhita 是一款 完全开源 的文本编辑器,专为使用 SwiftUI 构建的 iOS 设备设计。该项目托管在 GitHub 上的 tnantoka/edhita,并在 MIT 许可证下发布,意味着可用于个人及商业用途。
这对开发者为何重要
- 现代 UI – SwiftUI 提供声明式、可重用的界面,感知 iOS 原生体验。
- 清晰架构 – 代码库分布于独立模块(Models、Views、Controllers),非常适合学习模块化 Swift 设计。
- AdMob 与隐私 – 应用已集成 AdMob(符合隐私政策),便于你了解如何在 SwiftUI 项目中嵌入第三方服务。
- 跨平台启发 – Android 对等项目 DotText 显示跨技术分享的可能性,是博客讨论的佳选。
快速入门指南
- 克隆仓库
git clone https://github.com/tnantoka/edhita.git cd edhita - 打开项目 – 在 Xcode 中双击
Edhita.xcodeproj,或在终端执行open Edhita.xcodeproj。 - 构建并运行 – 选择一个 iOS 模拟器(iPhone 15 Pro、iPhone SE 等)并点击 Run。编辑器即可启动进行测试。
- 修改常量 – 像
Constants.swift之类的文件包含 AdMob ID 与 UI 布局值的配置。你可以随意自定义路径、主题色或标题。 - 为 App Store 打包 – 使用 Xcode 的归档流程,然后通过 App Store Connect 提交。
如果你不熟悉 SwiftUI 的 @State 与 @Binding,源码中已提供大量 inline 注释。这是学习 SwiftUI 如何处理动态文本、文件操作和分享的极佳实践。
核心功能亮点
| Feature | Description |
|---|---|
| 富文本编辑 | 支持纯文本输入、换行识别以及通过键盘快捷键实现基本格式化。 |
| 文件 I/O | 打开、保存、覆盖和导出任意格式文档;应用底层使用 FileManager。 |
| 分享 | 点击分享按钮时会弹出分享表单,在 iPhone 与 iPad 都可使用。 |
| AdMob | 应用上线后会显示 AdMob。隐私政策合规已内置,可在 Constants.swift 中切换。 |
| 本地化 | 使用可本地化字符串文件(日语与英语),使编辑器可无语言限制使用。 |
扩展项目
由于 Edhita 是开源的,你可以通过几个步骤添加功能: 1. 创建功能分支 – 将更改保持隔离。 2. 添加新的 Swift 模块 – 例如 Markdown 解析器或语法高亮器。 3. 发布更新 – 如计划在 App Store 上分发,请遵循 Apple 对新框架的审核指南。 4. 提交 Pull Request – Edhita 维护者活跃且欢迎贡献。
社区与支持
该仓库拥有 1.4k 星标和 249 次 Fork,表明有相当活跃的开发者基础。你可以: * 在 Issues 选项卡提问。 * 查看现有问题以获取错误报告或功能请求。 * 浏览代码,拉取自己的更改并提交 Pull Request。
结论
Edhita 以其简洁、结构良好的完整 iOS 编辑器示例脱颖而出。它是 SwiftUI 爱好者探索文本处理、文件系统集成与广告的理想“起步套件”。其开源属性鼓励协作,成为可随用户基数共同成长的社区驱动项目。
无论你是想做贡献、将其用作新应用模板,还是仅仅学习健壮的 SwiftUI 架构,Edhita 都值得你在 GitHub 关注列表中占有一席之地。
原创文章:
查看原文