Coder Social home page Coder Social logo

bugenzhao / mnga Goto Github PK

View Code? Open in Web Editor NEW
235.0 5.0 14.0 20.01 MB

💬 A refreshing NGA Forum App in SwiftUI. Make NGA Great Again! aka "NGA 论坛 iOS 开源客户端"

Swift 64.80% C 0.14% Rust 33.26% Makefile 0.82% Shell 0.02% Kotlin 0.61% Ruby 0.34%
nga swiftui cross-platform ios

mnga's Introduction

MNGA

Logic

A refreshing NGA Forum App in SwiftUI.

Make NGA Great Again.

Get the App

  • App Store

  • TestFlight Public Link for iOS

    Stable Channel (稳定版) Nightly Channel (开发版)
    tf-image tf-image
  • Or build the project yourself, check instructions below.

Donation

如果你喜欢 MNGA,欢迎通过下面的二维码捐赠支持。由于 NGA 官方封锁限制不断加深,我们只能尽最大努力来维持 App 的基本可用性,对于一些无能为力的问题还请谅解,谢谢。

Features

  • Built with SwiftUI which provides awesome UX feelings for multiple platforms like iOS, iPadOS and macOS
  • High-performance logic layer energized by Rust (and can be ported to other platforms with ease, check Android Instructions)

Screenshots

iOS

iPadOS

macOS

Build the Project

  1. Install Xcode and Rust toolchains. Make sure you have set your command line tools location correctly by

    安装 Xcode 及 Rust 相关工具链。确保 CLI 工具的路径设置正确:

    $ sudo xcode-select --switch /Applications/Xcode.app
  2. Install other prerequisites.

    安装其他依赖。

    $ brew install swift-protobuf
    $ cargo install cargo-lipo
    
    $ rustup target add aarch64-apple-ios
    $ rustup target add aarch64-apple-ios-sim  # optional: Simulator target for Apple Silicon
    $ rustup target add x86_64-apple-ios       # optional: Simulator target for Intel
    $ rustup target add aarch64-apple-darwin   # optional: macOS target for Apple Silicon
    $ rustup target add x86_64-apple-darwin    # optional: macOS target for Intel
  3. Clone the repository and run at the project root:

    克隆仓库到本地,在项目的根目录,运行

    $ make ios
    $ make macos

    You'll find logic-ios.xcframework and logic-macos.xcframework under out.

    检查 out 目录,将会生成 logic-ios.xcframeworklogic-macos.xcframework 两个 Xcode Framework.

  4. Open the Xcode project app/NGA.xcodeproj. Run the app after you set the correct Apple ID.

    打开 Xcode 工程 app/NGA.xcodeproj,重新设置签名 Apple ID 后,编译运行 MNGA。

Statements

  • 本项目中涉及的 NGA 等文字,NGA 版块、帖子、用户等数据,AC 娘表情等资源,其版权均归 NGA BBS (https://ngabbs.com) 所有。
  • This project currently has NO LICENSE. You MAY NOT modify or redistribute this code without explicit permission.

mnga's People

Contributors

bugenzhao avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

mnga's Issues

希望能支持 iOS14

目前用 iPhone8 在 iOS14 做备用机,升级 15 系统会卡,为什么最低支持15呢,是用了什么新特性吗?

编译报错

image

电脑系统是12.0.1,Xcode 13.3,模拟器真机都编译不过

 在主界面点击切换”所有板块“和”只看收藏“失效

系统:iOS 14.4
问题:在主界面时,点击右上角图标,在弹出的选项中切换”只看收藏“和”所有板块“后并没有生效,比如当前选择的是”所有板块“,点击”只看收藏“后,主界面并没有执行对应的切换,但是如果点击”编辑收藏“的话,之前的切换就生效了。

做的相当好

交互,视觉,使用体验都很棒了,本来想提几个问题,发现基本都是由于封锁或者设备造成的无法解决。而且作者看起来不维护了。
提个小建议不知道是否可行,当遇到封锁时,使用爬虫把原始内容和热门回复抓回来渲染是否可行?可以接受帖子不可交互(不能回复点赞,只能看),这样体验会好很多很多。

进入特定子版块导致 App 卡住并闪退

tf内提交了反馈但没动静,来这边提个iss

试图进入猴区的 视频网站于up主讨论 子版块时,整个 app 会卡住无响应很长时间,并最终闪退,很奇怪的是其他的子版块没有这个问题,不确定是不是 bug

NGA域名自定义、回复手势自定义

  1. 希望能够自己选择NGA主站是bba.nga.cn、ngabbs.com还是nga.178.com(网络问题需要手动选择,而且handoff功能也需求选择)
  2. 希望回复某人的手势变为从右往左滑动(而非现在的从左往右),更符合逻辑且不易与返回混淆

一些功能建议

全屏看图的时候,放大了以后必须再缩小才能下划关闭全屏
右滑返回上一页容易误触成回复楼层
版面帖子列表刷新,必须拉到第一页顶部才能下拉刷新,建议在屏幕右下角放个一键按钮直接刷新

在帖子列表和帖子详情页面里面,忽然来了通知,那个浮动通知只会停留几秒,再晚一点就必须回首页才能点进去看

分享mnga链接到微信无法直接拉起app

mnga链接分享无法直接拉起app,只能通过在微信里跳转到默认浏览器才可以打开app。

另外,无论是走mnga分享,还是nga分享,在微信里到样式都比较简单,如果可以看到标题预览就更好了。

感谢做出了优秀的nga客户端给大家使用🙏

最近频繁出现未登录NGA错误提示

大概前几天开始,看帖子会出现“未登录nga”的错误提示,重复刷新帖子又能正常,但是时不时就会弹这个提示,烦请作者帮忙看一下,感谢🙏

签名

你好,请问这个签名apple id是必须要开发者账号才能编译吗

帖子里的图片无法保存

长按也没有保存图片,点开放大图片长按也没有,右上角的分享点击也没有任何弹窗,建议能加一个可以保存图片的功能

全屏手势滑动返回

Original:
返回上一页操作时,必须要从屏幕最左边向右滑才行,手指移动距离过大。而不是像官方客户端或其它app一样左边稍右一些滑动就可以。希望这项人性化功能能实现。

From: NGA @Taohacker

iPad客户端闪退

复现过程:
点进一个板块 - 点进一个主题 - 手动杀后台(或者等待被iPadOS系统杀后台) - 重新打开mnga

此时由于我们之前点进了一个主题,因此进去的页面左上角显示的是板块的名称,如图所示

1

这时从左侧屏幕边缘向右滑动以返回到板块列表,就会100%闪退,闪退1到2次后,左上角不再显示板块名称,而是显示“返回”二字,这时候才能正常返回,如图所示

2

TestFlight和AppStore版本都是如此,也卸载重装过多次没用

建议支持恢复浏览进度,自动跳转到上次浏览的楼层

感谢作者辛苦开发,客户端很好用~
追踪一个帖子,想要看更新的回复,需要自行计算更新的楼层然后选择跳转。希望可以直接支持恢复浏览进度,自动跳转到上次浏览的楼层。
同时,有一些长的帖子,比如大时代里的,想直接看最新的楼层,希望支持长按或左右滑动进入最后一页。

板块和话题的分享功能异常

板块分享链接结果为 https://ngabbs.com//thread.php?fid=xxx,多了个 /,会导致首次打开时 nga 自己的跳转会跳转到错误的地址 https://thread.php/?fid=xxx&rand=yyy

而话题的分享则是空的,什么都没有

打开图片大图缩放无法保持

系统: IOS 15.0
打开帖子里面的图片大图时,对打开的图片用手势缩放,缩放比例在松手后无法保持,会回到默认比例。在需要查看图片细节时会比较麻烦。
就是这个界面:
IMG_5821

常出现xml解析错误

硬件型号:iPhone 13 Pro
软件版本:App Store 1.0正式版
iOS版本:15.3
该问题在testflight版本中也会出现,我于今日升级正式版,问题仍存在。
在打开某些帖子时会出现这种情况,进行Wi-Fi和流量切换后可暂时解决。
image
image
image

[功能请求] 长时间没有进入某板块,下次进入时自动刷新

主要场景

进入过某个板块后,把 MNGA 留在后台,过了很长时间后再次进入这个板块,仍然是上次拉取的话题列表,需要手动下拉刷新

期望表现

刷新时机仅为进入板块时,即如果用户保持在板块内(话题列表页面)将程序退到后台,下次进入程序时不刷新,此时如果退到首页再进入该板块则刷新

相当于话题列表数据有个过期时间,过期了就重新拉取

对于不同用户喜好,可以加一个设置来自定义这个过期时间,例如 永不过期、30分钟、1小时、……、1天 等等

添加版块精华区与版头

Original:

  1. 每个板块的“精华区”目前没有办法进行筛选。
  2. 每个板块“板头”信息无法筛选。部分职业区的攻略都在集中在板头里,板头是精华所在。

From: NGA @Taohacker

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.