V2Reader - 基于 V2EX API 2.0 的第三方 iOS/iPadOS/macOS 客户端,欢迎加入 Beta 测试!

2022-01-19 11:28:04 +08:00
 allenchen10

TLDR

V2Reader 是一个用 SwiftUI 开发的,在 iOS 、iPadOS 和 macOS 上的 V2EX 第三方客户端。因为所有的数据都是通过访问 V2EX API 2.0 Beta 来获取的,而这份文档还在更新,有很多数据没有提供,所以 V2Reader 的功能还比较有限。之后随着 API 的更新,会有更多功能加入。

简介

我前段时间看到 V2EX API 2.0 的页面,就试了试,当时还提了一个小 Issue,站长很快就修复了。那个时候刚好还在放假,想着入门一下 iOS 开发,然后用这些 API 写一个客户端练手。之后大概花了两周时间开发到当前版本,目前只用了 SwiftUI 原生的组件,没有使用第三方库。因为才刚接触 Swift ,基本是一边学一边写,很多地方的代码还有点乱,等以后整理好了应该会开源。

安装

加入 Beta 版“V2Reader for V2EX” - TestFlight - Apple

设备要求

iOS/iPadOS 15 以上,或者 macOS 12 Monterey 以上(使用了 Catalyst ,所以 Intel Mac 也可以安装)。

功能

FAQ

为什么不支持更低的系统版本?

主要是因为我用了很多去年 WWDC 新加入的语法,比如 AsyncImage 、MainActor 、task 、refreshable 、searchable 之类的。

为什么 API 2.0 Beta 已经有了获取提醒的 API ,但软件内还没有实现?

有两个原因:一、这个 API 获取的内容都是 HTML 格式的,我还没有考虑用什么方式去解析,不像帖子中的内容是 Markdown 格式的,可以用 iOS 15 新引入的 AttributedString 。二、这个提醒 API 还获取不到帖子的 id ,暂时也没办法实现点击跳转帖子的功能。

为什么有些 Markdown 格式的内容没有正常显示?

因为 AttributedString 还没有支持 Markdown 格式的全部语法,我猜测下次 WWDC 会支持更多。

为什么不支持 App 内发帖 /回帖 /收藏 /感谢等功能?

我暂时打算只使用 API 2.0 Beta ,而这些数据目前还无法通过这些接口获取。当然如果需要的人很多,我之后可能会用解析网页之类的方式来实现。目前点击发帖回帖的按钮会跳转到网页版。

为什么需要用 Token 来登录?可不可以使用账号密码或者免登录?

V2EX API 2.0 Beta 必须有 Token 才能够访问,用户需要在设置中自己创建 Token ,然后复制粘贴到 App 中,App 会将 Token 放入系统的 Keychain 保存。用 Token 是否安全,可以参考站长 @Livid 在这个帖子中的回复。

为什么使用一段时间之后加载不出内容了,重新启动之后显示 Token 无效?

站长设置了每小时最多请求 API 600 次,这种情况可能是达到了限制,可以等整点后再尝试。

为什么主页中最多只能添加 5 个节点?

主页每次刷新时,每个节点都需要单独访问一次 API ,主页中包含的节点过多会导致很快达到 API 请求次数的上限,目前设置的是最多 5 个,如果觉得不够请在 TestFlight 里反馈,我会考虑在之后的版本里调整。

最后

我写这个 App 只是作为学习 Swift 的练手,目前支持的功能还不多,并不能代替网页版或者别的优秀 App ,大家有兴趣的话欢迎加入 TestFlight 测试体验,反馈使用中的问题和需要改进的地方。

3075 次点击
所在节点    分享创造
12 条回复
wanglz111
2022-01-19 11:41:31 +08:00
🐎住
beeyoung
2022-01-19 13:08:14 +08:00
是否需要 IPhone 走代理?
allenchen10
2022-01-19 13:53:00 +08:00
@beeyoung #2 不太清楚,我人不在国内
daolanfler
2022-01-19 16:13:04 +08:00
好像没没法回复啊
hackpro
2022-01-19 16:20:51 +08:00
支持 还需要打磨 可以参考下 v2er
allenchen10
2022-01-19 16:52:08 +08:00
@daolanfler #4 FAQ 里有提到
allenchen10
2022-01-19 16:53:10 +08:00
@hackpro #5 嗯,V2er 挺不错的,我一直在用
hackpro
2022-01-20 02:08:05 +08:00
@allenchen10 v2er 也有不少问题 如果大佬你的 App 能修复 我觉得也很有前景啊
hackpro
2022-01-20 02:09:08 +08:00
@allenchen10 可以拉一个群 前期收集大家的反馈
allenchen10
2022-01-20 09:08:38 +08:00
@hackpro 感谢建议,之后会考虑的,现在如果需要反馈请使用 TestFlight 或者发邮件到 v2reader@jiacchen.com
hackpro
2022-01-22 11:45:53 +08:00
提两个很感动的点👍👏
1. 支持 token 登录 不用输密码
2. 没有 v2er 恼人的 URLSession error
xiaozhoua
2022-05-14 14:30:41 +08:00
界面好看,功能再多点就好了,什么时候上线,支持👍

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/829181

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX