SGASScreenRecorder 1.0.1

SGASScreenRecorder 1.0.1

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

Alexander Gusev维护。




专为 iOS 应用程序提供超级高效、非常方便且易于配置的屏幕录制功能。

警告:此屏幕录制程序仅适用于调试和内部测试构建,绝对不适合 App Store 安全。

是什么

它允许您在应用程序在前台时持续记录设备屏幕上发生的一切,并将此录制保存为视频文件或设备照片库。

如何

屏幕捕获通过从私有框架 IOKitIOSurfaceIOMobileFramebuffer 的低级函数完成。这主要归结为 IOMobileFramebufferGetLayerDefaultSurface()IOSurfaceAcceleratorTransferSurface() 调用。

捕获从安排在后台线程 runloop 上的 CADisplayLink 的回调中完成,以最大限度地减少对应用程序代码的性能影响。捕获期间没有忙等待,并且在主线程上不执行任何操作。

为什么

  • 因为在应用活动中录制从未如此简单
  • 因为故障报告中的视频可以代替一千句话

包含的内容

  • 屏幕录制器
  • 视频导入到照片库
  • 屏幕角落叠加 UI 以便于集成
  • 屏幕录制时的屏幕触摸可视化

使用方法

使用 CocoaPods 快速运行示例项目

pod try SGASScreenRecorder

需求

  • iOS 7.0.0 及以上版本
  • 仅限 iOS 设备。将构建和运行在 iOS 模拟器上,但不会进行任何实际录制

安装

SGASScreenRecorder 可通过 CocoaPods 获得。

简单

对于简单的整体安装,将以下行添加到 Podfile 中

pod 'SGASScreenRecorder', '~> 1.0'

为了初始化屏幕录制 UI 叠加,运行以下类似命令

- (void)setupScreenRecorderUIManager {
#ifndef APPSTORE
    SGASScreenRecorderSettings *settings = [SGASScreenRecorderSettings new];
    _screenRecorderUIManager = [[SGASScreenRecorderUIManager alloc] initWithScreenCorner:UIRectCornerTopLeft
                                                                  screenRecorderSettings:settings];
#endif
}

请确保使用编译时检查/预处理宏来防止此代码进入App Store的构建。

请随意查看演示项目以获取更多详细信息。

Granular

如果你不需要录制覆盖UI,并且更愿意自己启动和停止录音,你只需导入所需的部分即可

  • 使用 pod 'SGASScreenRecorder/SGASScreenRecorder', '~> 1.0' 仅获取屏幕录制功能

或者

  • 使用 pod 'SGASScreenRecorder/SGASPhotoLibraryScreenRecorder', '~> 1.0' 获取屏幕录制功能以及相册导入支持

作者

@Shmatlay, @sanekgusev

该项目最初是基于RecordMyScreen项目的早期版本,并由@Shmatlay私下开发,他添加了屏幕覆盖控制、触摸可视化以及保存到相册的功能。在Andrey的许可下,我后来重构了这个项目,将其迁移到ARC,使其更加模块化,并完全重写了捕获代码以支持iOS8,提高性能和内存占用。

可以通过以下方式联系我

许可

SGASScreenRecorder受MIT许可协议保护。有关更多详细信息,请参阅LICENSE文件。