Alpha 0.3.2

Alpha 0.3.2

测试已测试
Lang语言 Obj-CObjective C
许可证 MIT
发布上次发布2016年12月

Dal Rupnik维护。




Alpha 0.3.2

 

Alpha是下一代iOS应用程序的调试框架的构想。它结合了在简单、统一的API之上构建的多个调试工具。它完全存在于您的应用程序沙盒中,并在应用程序使用寿命期间收集信息。仅需要1分钟即可集成,且不需要进行代码更改。

观看Dal Rupnik在SwiftConf 2015上关于< aumentos>Alpha想法的演示

该项目仍在进行中,可能还不够稳定,不能用于实际环境。请随意在GitHub上提交问题(特别是Swift项目)。目前最不稳定的是Heap插件,最好避免使用它(可能在未来被删除,因为从技术上讲,无法知道何时释放内存)。

intro

特性

特性被分为多个插件,可以根据应用程序需求启用或禁用。

  • 应用程序 - 显示设备上所有已安装应用程序的列表。
  • Bonjour - 包含一个简单的Bonjour服务器,允许Alpha通过本地Wi-Fi网络工作。
  • Bootstrap - 检查KZBootstrap环境,并允许实时修改它们。
  • 控制台 - 在应用程序内部显示控制台日志(由NSLog记录)。
  • 事件 - 记录并显示应用程序范围内的事件,例如后台状态转换和视图控制器出现。
  • 文件 - 允许浏览沙盒文件系统,并根据需要预览常见文件类型,例如图片、视频和文本。
  • 全局 - 信息插件显示链接的框架、库和类。
  • - 允许检查堆上的活动对象实例,并帮助调试内存错误。
  • 界面 - 插件是特定的插件,用于显示Alpha菜单界面和操作。
  • 密钥链 - 浏览应用程序添加到密钥链中的项。
  • 网络 - 使用NSURLSessionNSURLConnection API记录创建的网络连接。
  • 通知 - 显示计划内和已触发的本地通知、接收到的推送通知和通知权限。
  • 对象 - 允许检查应用程序中的任何类或对象,包括NSUserDefaults、数组和字典。
  • 权限 - 显示当前权限,并添加请求特定权限的能力。
  • 远程插件 - 允许从其他设备连接到Alpha(需要在目标设备上运行Bonjour)。
  • 截图 - 插件允许通过单次操作对应用程序进行截图。
  • 状态 - 允许检查设备状态和设置,例如区域设置、时间和可用内存。
  • 触摸 - 插件在激活时在屏幕上显示触摸位置及其压力触摸。
  • 视图 - 允许实时操作视图层次结构和检查。

目前正在开发中

0.3.0

  • 应用程序状态快照
  • 在Alpha中显示崩溃
  • 字体家族列表
  • 远程客户端目标
  • 带有更多功能的更大示例应用程序
  • 应用程序内调试器
  • 重置权限(如果可以通过TCC框架实现的话)

主题

Alpha旨在与任何应用程序一起工作,但是默认的暗黑主题并不总是与应用程序的色彩方案搭配最佳。

为了适配任何应用程序,Alpha支持主题,允许您选择要显示Alpha的颜色方案。

Default Formentera Notio

共有 6种主题 可用

也可以创建自己的主题并在Alpha系统中使用它。

更多关于主题的信息请参阅主题

触发器

触发器是激活Alpha界面的一种方式。默认情况下,Alpha提供了两个触发器

  • 摇晃触发器 - 当设备在5秒内被摇晃两次时激活。
  • 触摸触发器 - 当在应用程序的任何地方按下3个手指3秒后激活。

两个触发器默认都会被激活。也可以实现自己的触发器或使用手动触发器。

更多关于触发器的信息请参阅触发器

集成

要在项目中使用Alpha,您只需添加一个 CocoaPods

pod 'Alpha'

这会自动包括所有插件和功能。为了避免与应用程序中使用的库发生冲突,所有Alpha类都使用 ALPHA 前缀(甚至是从其他库移植的类)。推荐的方法是忽略Alpha版本,始终使用最新版本,以确保最佳的稳定性。

也可以手动选择所需的插件。

pod 'Alpha/Bonjour'
pod 'Alpha/Interface'
pod 'Alpha/State'

要使用自动集成功能,请添加整合子规范(使用Alpha pod时,它将自动包含)。

pod 'Alpha/Integration'

Alpha支持iOS 8及以上版本。并非所有功能在每个版本中都可用。tvOS和watchOS版本即将推出。

更多关于集成的信息请参阅集成

故事

Alpha最初是从FLEX(翻页板探索器)的一个非官方分支开始。它最初的简单愿望是为FLEX添加多个功能,但越深入研究,就越明显很多架构变更都是必需的,以支持远程客户端。这种类型的变更最难合并到原始仓库中,且不会破坏多个功能,显然更适合创建一个单独的仓库。

因此,Alpha被转换为一个独立的仓库,并在其上开始工作。添加了许多新功能,并且在底层进行了许多架构变更。Alpha现在不仅仅是一个独立的工具,而是一个提供完整API的框架。工具的功能现在在插件API上运行,这允许动态加载和令人难以置信的可扩展性。

文档

整个Alpha文档在WikiCocoaDocs上可供查阅。

贡献

要为Alpha做出贡献,请提交拉取请求。任何功能实现或改进,错误修复,文档都是欢迎的。

感谢

这个项目如有众多受到尊敬的社区贡献者的共同努力才得以可能。感谢以下项目的所有贡献者

联系方式

Dal Rupnik

许可

Alpha遵守< strikes>(强烈建议实时更正错别漏)MIT许可证。更多信息请查阅LICENSE文件。