小编Pyr*_*ogy的帖子

IOMobileFramebufferGetLayerDefaultSurface无法在iOS 9上运行

我的主要问题是,如何对已经存在的私有API函数进行反向工程,但是在新版本的iOS中进行了修改?

我创建了一个iOS应用程序来使用IOSurface和IOMobileFramebuffer记录屏幕内容.framebuffer用来打开它的主要功能是IOMobileFramebufferGetMainDisplay(connect)IOMobileFramebufferGetLayerDefaultSurface.

从应用程序的第一个版本开始就使用了这些功能,并且它们已经在iOS 7和8的所有版本上运行.但是,在最新的iOS 9测试版(测试版5)中,该功能IOMobileFramebufferGetLayerDefaultSurface不起作用.该函数不会返回0,因为它在成功打开帧缓冲区时应该返回0.

StackOverflow上的其他用户似乎也遇到了同样的问题:iOS 9上的IOMobileFramebufferGetLayerDefaultSurface函数失败.我们引用名为"_framebufferConnection"的IOMobileFramebufferConnection和名为"_screenSurface"的IOSurfaceRef这是当前代码:

IOMobileFramebufferGetMainDisplay(&_framebufferConnection); IOMobileFramebufferGetLayerDefaultSurface(_framebufferConnection, 0, &_screenSurface;

如前所述,这些在iOS 7-8上完美运行,但在iOS 9上,第二个功能崩溃了.我还查看了两个版本符号的二进制文件并进行了比较.与iOS 8.4.1二进制文件相比,iOS 9中的第二个参数略有不同.那么,回到主要问题,我如何进行逆向工程IOMobileFramebufferGetLayerDefaultSurface,或者看看它在iOS 9上以何种方式实际修改?

iphone objective-c ios

6
推荐指数
2
解决办法
3388
查看次数

如何理解swift中的"一流功能"?

我正在阅读一些关于swift函数式编程的书籍.当我看到一些书说swift中的函数是"一流的函数"时我迷惑了"一流"的含义.任何人都可以回答我或给我一些示例代码吗?

first-class-functions swift

0
推荐指数
1
解决办法
553
查看次数

标签 统计

first-class-functions ×1

ios ×1

iphone ×1

objective-c ×1

swift ×1