Enable iOS target
Stage 1: commonize project
- [x] 使用更好的 openapi client generator, 生成纯 kt 依赖 ktor 的 Bangumi API client
- [x]
:app:shared改为 HMPP 架构common,ios,jvm,android,desktop. 其中jvm为android和desktop的中间目标, 用于共享 JVM 平台代码 - [x] danmaku:api 模块改为 multiplatform
- [x]
reorderable不支持 ios , 需要 fork 一份到仓库里参与构建 - [x] file API, 要找一个库, 考虑 kotlinx.io
- [x] date API, 用 kotlinx.datetime
- [x] 找一个多平台日志库, 幸运的是无需替换引用 (因为目前日志都使用的是
:utils:slf4j-kt模块的扩展 - [x] data sources 的实现用到了 Jsoup
简单替换:
- [x] data-sources:api
- [x] torrent API
- ~bencode 库挪到 JVM~
- [x] 增加 ktor ios 的依赖
- [x]
java.util.UUID - [x] URI, URL, 用 ktor
- [x]
ConcurrentLinkedQueue换成普通 list + 锁
Stage 2: ios platform
- [x] 增加
:app:ios模块, 配置好 compose entry point 和 app entry point - [x] Room https://github.com/open-ani/ani/pull/915
- [x] 适配平台文件路径,
Context.XXXdataStore(数据, 缓存) - [x] 禁用 torrent
- [x] 禁用自动更新和应用内下载
- [ ] 研究签名问题
- [ ] #790
- [ ] Release 自动上传附件
- [ ]
CONTRIBUTING.md更新如何开发 iOS
Stage 3: all features
- [ ] 实现
VideoSourceResolver(webview 解析在线数据源) - [ ] 实现视频播放器
- [ ] 实现
AudioManager - [ ] 实现
BrightnessManager - [ ] Anitorrent Kotlin/Native port
這麼早就有IOS阿😮
经常有人问能不能做 iOS 所以我就先把要做的事情列了
没有正在做, 目前也没有计划什么时候做
但是如果有人想来做, 我还是非常乐意帮助的
会是一个很复杂 很麻烦的feature
英文有myanilist,中文有ani。 大佬雄起,期待惊喜上架😭
英文有myanilist,中文有ani。 大佬雄起,期待惊喜上架😭
¿我尋思這兩不完全不同東西嗎?
上架是不太可能的, 最多 ipa
英文有myanilist,中文有ani。 大佬雄起,期待惊喜上架😭
你可以贊助他開發者帳號😂 或許有機會上架
由于这个工作量很长, 为了不让未来有两周什么都不更纯写 ios, 我考虑把工作均摊到日常中
现在起新代码多平台. 逐步 commonize
Okio 的 file system 实现比 kotlinx-io 成熟, 但我实在是不想用 okio...
第一阶段完成, 现在 app shared 会构建 ios 了
running
4.8.0-alpha02 / beta01 发第一个版, 以下功能在 4.8.0 之前实现:
- 上下滑动屏幕调整亮度/音量
- 设置倍速
- 长按快进
以下功能短期内不打算实现:
- BT
- 选择字幕轨道 / 音轨
上述未提及的功能均支持
https://github.com/open-ani/animeko/releases/tag/v4.8.0-beta01
可以下载 IPA