Sloth发布前检查清单:从功能测试到签名验证

Sloth发布前检查清单:从功能测试到签名验证

【免费下载链接】Sloth Mac app that shows all open files, directories, sockets, pipes and devices in use by all running processes. Nice GUI for lsof. 【免费下载链接】Sloth 项目地址: https://gitcode.com/gh_mirrors/sl/Sloth

Sloth作为一款基于lsof命令的macOS图形化工具,能够帮助用户直观地查看系统中所有进程打开的文件、目录、Socket(套接字)和管道等资源。为确保每次发布的版本稳定可靠,需严格执行以下发布前检查流程。

功能完整性验证

核心功能测试

Sloth的核心价值在于对系统资源的全面监控,需验证以下功能是否正常工作:

  • 资源类型覆盖:确认能正确显示文件、目录、IP Socket、Unix域Socket、管道和设备。相关实现可参考source/Item.h中对不同资源类型的定义。
  • 过滤与排序:测试按名称、访问模式、卷、类型等条件的过滤功能,以及按进程名、文件数、PID等维度的排序功能。过滤逻辑在source/SlothController.m中实现。
  • 详情面板:检查Info Panel能否展示文件/套接字/进程的详细信息,包括IP套接字的状态、协议和端口等。详情面板控制器代码位于source/InfoPanelController.hsource/InfoPanelController.m

特权操作测试

由于部分系统资源需root权限才能访问,需验证:

  • 认证流程:测试in-app authentication能否正常触发并获取root权限。
  • 特权扫描:以root身份运行时,确认能扫描到更多系统资源,如内核进程打开的文件。

兼容性检查

系统版本测试

Sloth需兼容多个macOS版本,根据README.md,当前版本支持macOS 10.13及以上。需在以下版本中进行测试:

  • 最低支持版本:macOS 10.13 (High Sierra)
  • 最新版本:当前最新的macOS版本(如Sonoma)
  • 主流版本:macOS 11 (Big Sur)、macOS 12 (Monterey)、macOS 13 (Ventura)

硬件架构测试

Sloth为Universal二进制,需在不同架构的Mac上测试:

  • Intel架构:在基于Intel芯片的Mac上验证功能和性能。
  • Apple Silicon架构:在M系列芯片的Mac上测试,确保没有架构相关的兼容性问题。

性能与稳定性测试

性能基准测试

  • 启动时间:记录应用从启动到主窗口显示的时间,应控制在3秒以内。
  • 扫描速度:测量首次扫描和后续刷新的时间,大量进程和文件时应保持响应迅速。扫描逻辑主要在source/LsofTask.hsource/LsofTask.m中。
  • 内存占用:长时间运行后,检查内存使用是否稳定,有无内存泄漏。可使用Instruments工具进行监测。

稳定性测试

  • 压力测试:在系统资源紧张(如大量进程打开大量文件)的情况下,验证应用是否会崩溃或无响应。
  • 异常处理:测试文件被删除、网络连接中断等异常场景下的应用表现。相关异常处理代码可参考source/Util/Alerts.h

安全检查

代码签名

Sloth需要进行Developer ID签名和公证,确保用户能安全下载和运行:

  1. 签名验证:使用codesign命令验证应用签名是否有效:
    codesign -vvv /path/to/Sloth.app
    
  2. 公证状态:检查应用是否通过Apple的公证,可使用spctl命令:
    spctl -a -v /path/to/Sloth.app
    

权限控制

  • 敏感操作:如终止进程、删除文件等危险操作,需确认有二次确认提示,相关代码在source/Util/Alerts.m中。
  • 隐私保护:确保应用不会收集或发送用户的敏感信息,如进程列表、文件路径等。

分发准备

打包与压缩

  • 应用打包:使用Xcode或Makefile中的build_unsigned目标构建应用,确保打包过程无错误。
  • 压缩归档:将应用压缩为zip格式,大小应控制在合理范围内(根据README.md,当前版本约1.3 MB)。

更新框架配置

Sloth使用Sparkle框架进行自动更新,需配置:

  • 应用更新清单:更新sparkle/SlothAppcast.xml,添加新版本信息,包括版本号、更新说明、下载链接等。
  • 框架版本:确认Sparkle.framework为最新稳定版,以确保更新功能正常。

文档与版本记录

文档更新

  • README.md:更新README.md中的下载链接、版本信息和功能描述。
  • 截图更新:如果UI有变化,更新README中的截图,确保与新版本一致。

版本记录

  • CHANGELOG:在CHANGES.md中添加新版本的更新日志,格式参考历史版本,如:
    ### 日期 - Version X.Y
    * 新功能1
    * 改进2
    * Bug修复3
    

最终检查清单

在正式发布前,使用以下清单进行最终确认:

检查项状态相关文件/资源
核心功能正常source/SlothController.m
兼容所有支持的macOS版本README.md
应用签名有效-
公证通过-
性能指标达标source/LsofTask.m
更新框架配置正确sparkle/SlothAppcast.xml
文档和CHANGELOG更新README.mdCHANGES.md

完成以上所有检查后,Sloth即可发布。发布渠道包括官方网站下载和Homebrew Cask,确保所有渠道的安装包一致且最新。

【免费下载链接】Sloth Mac app that shows all open files, directories, sockets, pipes and devices in use by all running processes. Nice GUI for lsof. 【免费下载链接】Sloth 项目地址: https://gitcode.com/gh_mirrors/sl/Sloth

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值