我正在尝试使用私有(private) API 创建一个应用程序来从后台截取屏幕截图。我找到了这个例子:Taking Screenshots in the background (iOS) - Improving Performance

在作者的代码中,第一行使用了 IOSurfaceRef 类型。有人可以向我解释如何将其包含在我的代码中吗?我试图链接 IOSurfaceAPI.h(我认为定义了 IOSurfaceRef 的地方),但是没有用。

最佳答案

首先让我们从如何链接框架开始

  • 转到 https://github.com/kennytm/iphone-private-frameworks/tree/master/IOSurface 并下载 header
  • IOSurfaceAPI.h 文件未包含在“由于法律原因”链接的下载链接中,您必须从此处从 Xcode 复制它
    根据Xcode附带的sdk在路径中更改 MacOSX10.11.sdk


  • 转到/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/PrivateFrameworks/IOSurface.framework
    并创建一个名为 Headers
  • 的文件夹


  • 将所有文件粘贴到


  • 关于iphone-privateapi - 如何包含 IOSurfaceRef,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29809576/

    10-11 19:14