如何使用calabash获取openGL的屏幕截图

时间:2014-07-07 15:14:06

标签: calabash calabash-ios

在使用ios模拟器时,如何使用calabash截取openGL的屏幕截图? 在过去我可以使用(localhost:37265 / screenshot2),但现在它已被弃用。

2 个答案:

答案 0 :(得分:0)

<强>已更新

Calabash iOS 0.18.2及更高版本现在支持OpenGL截图。

以下信息已过期,但可能有用。

this PR中不推荐使用screenshot2路由,以提供Xcode 5.1.1和64位支持。

这是我们使用此路线的第一份报告。

仅限iOS 7,我们有一些选择,但我还没有找到解决方案。正在跟踪in the calabash-ios issuesin this calabash-ios-server branch。请随意与您的意见相称。

另一方面,calabash.framework现在提供允许用户实现自己路由的头文件。提供详细信息超出了本问题的范围,但我们有一个用户使用头文件实现OpenGL屏幕截图的示例。

答案 1 :(得分:0)

由于您很可能使用UIViews来呈现OpenGL内容,因此您可以在UIView上创建一个类别,用于创建当前状态的屏幕截图(例如,通过将内容绘制到图像中)。您可以使用calabash的map方法调用该类别,例如

# the following assumes your OpenGL view has an accessibility label 'OpenGL view' 
# you also have a category 'UIView+Calabash' with a method '-(void)takeScreenshot;'
map("UIView marked:'OpenGL view'", :takeScreenshot) 

您可能还想阅读以下主题: Programmatically take a screenshot combining OpenGL and UIKit elements