专为 iOS 应用程序提供超级高效、非常方便且易于配置的屏幕录制功能。
警告:此屏幕录制程序仅适用于调试和内部测试构建,绝对不适合 App Store 安全。
它允许您在应用程序在前台时持续记录设备屏幕上发生的一切,并将此录制保存为视频文件或设备照片库。
屏幕捕获通过从私有框架 IOKit
、IOSurface
和 IOMobileFramebuffer
的低级函数完成。这主要归结为 IOMobileFramebufferGetLayerDefaultSurface()
和 IOSurfaceAcceleratorTransferSurface()
调用。
捕获从安排在后台线程 runloop 上的 CADisplayLink
的回调中完成,以最大限度地减少对应用程序代码的性能影响。捕获期间没有忙等待,并且在主线程上不执行任何操作。
使用 CocoaPods 快速运行示例项目
pod try SGASScreenRecorder
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的构建。
请随意查看演示项目以获取更多详细信息。
如果你不需要录制覆盖UI,并且更愿意自己启动和停止录音,你只需导入所需的部分即可
pod 'SGASScreenRecorder/SGASScreenRecorder', '~> 1.0'
仅获取屏幕录制功能或者
pod 'SGASScreenRecorder/SGASPhotoLibraryScreenRecorder', '~> 1.0'
获取屏幕录制功能以及相册导入支持该项目最初是基于RecordMyScreen项目的早期版本,并由@Shmatlay私下开发,他添加了屏幕覆盖控制、触摸可视化以及保存到相册的功能。在Andrey的许可下,我后来重构了这个项目,将其迁移到ARC,使其更加模块化,并完全重写了捕获代码以支持iOS8,提高性能和内存占用。
可以通过以下方式联系我
SGASScreenRecorder受MIT许可协议保护。有关更多详细信息,请参阅LICENSE文件。