如何将GPUImage添加到iOS项目?

时间:2012-09-27 01:19:26

标签: objective-c ios gpuimage

我正在尝试制作一个可在图像上添加过滤器的相机/照片应用。我听说过Brad Larson的GPUImage,所以我下载了它并尝试操作它以便更熟悉代码。

现在,我在Xcode中创建了一个新项目并将其添加到我的框架中,但我不知道如何在新项目中使用它。

如何在新项目中正确使用GPUImage?

4 个答案:

答案 0 :(得分:16)

我不知道如何比我在the very first page of the GitHub project和README.md中的“将框架添加到您的iOS项目”部分中的逐步说明更清晰:< / p>

  

一旦获得了框架的最新源代码,就可以了   直接将其添加到您的应用程序。首先拖动   将GPUImage.xcodeproj文件放入应用程序的Xcode项目中进行嵌入   您项目中的框架。接下来,转到应用程序的目标   并将GPUImage添加为目标依赖项。最后,你会想要拖动   来自GPUImage框架产品的libGPUImage.a库   文件夹到链接二进制文件库中的库构建阶段   应用程序的目标。

     

GPUImage需要将一些其他框架链接到您的   应用程序,因此您需要将以下内容添加为链接库   在您的应用程序目标中:

     
      
  • CoreMedia
  •   
  • corevideo的
  •   
  • OpenGLES
  •   
  • AVFoundation
  •   
  • QuartzCore
  •   
     

你还需要找到框架标题,所以在你的   项目的构建设置将标题搜索路径设置为相对   从您的应用程序到其中的框架/子目录的路径   GPUImage源目录。将此标题搜索路径递归。

     

要在应用程序中使用GPUImage类,只需包含   核心框架标题使用以下内容:

#import "GPUImage.h"
     

作为注释:如果遇到错误“Unknown class GPUImageView in   尝试使用界面构建界面时的“Interface Builder”等   在Interface Builder中,您可能需要将-ObjC添加到其他链接器   项目构建设置中的标志。

     

此外,如果您需要将其部署到iOS 4.x,它似乎是   当前版本的Xcode(4.3)要求您弱化Core   最终应用程序中的视频框架,或者您看到崩溃了   消息“符号未找到:_CVOpenGLESTextureCacheCreate”当你   创建存档以上传到App Store或临时   分配。为此,请转到项目的Build Phases选项卡,   展开Link Binary With Libraries组,然后查找   列表中的CoreVideo.framework。在远处更改它的设置   列表右侧从必需到可选。

     

此外,这是一个支持ARC的框架,所以如果你想使用它   这是针对iOS 4.x的手动参考计数应用程序,   你还需要将-fobjc-arc添加到你的其他链接器标志中。

要查看此操作,请查看我随框架提供的许多示例应用程序中的任何一个。

答案 1 :(得分:5)

请阅读此页http://www.sunsetlakesoftware.com/2012/02/12/introducing-gpuimage-framework以及:https://github.com/BradLarson/GPUImage

注意:只需将框架/源文件夹中的所有源代码文件复制到项目中,然后导入GPUImage.h即可使用。

问候!

答案 2 :(得分:2)

将GPUImage集成到项目中的最简单方法可能是。虽然GPUImage CocoaPods repo实际上并不是由Brad维护的​​,但它的维护是非常规律的,它使集成变得轻而易举。

> Go get it

答案 3 :(得分:1)

这是在 iOS 中通过视觉指示在 Xcode 中的 Swift 5 中实现的方法:

开始之前有两件事。

  • 您应该在项目的复制/复制上开始此过程,直到正确为止(花了我几次尝试),甚至开始做一个新项目。如果出现问题,您想保持原始项目不变
  • 如果您要复制的项目中打开了带有GPUImage的项目,请确保先关闭它。您将收到一条错误消息,提示已经打开了一个项目

enter image description here

1-转到GPUImage gitHub page

2-在右上角,单击绿色的Code按钮,然后单击Download Zip

enter image description here

3-在您当前的Xcode项目(您要使用GPUImage的项目)中,单击蓝色项目图标下方的第一个文件夹

enter image description here

4-之后,转到Xcode的顶部,然后单击File> Add Files to "yourProject"

enter image description here

5-当新窗口出现时,转到Downloads(或在第二步中下载GPUImage的任何位置)> GPUImage3-master> framework> GPUImage.xcodeproj,然后单击{ {1}}。确保选中AddCopy Items if Needed很重要。

enter image description here

6-现在您将在Xcode项目内的第3步相同文件夹下看到Create groups(无需执行任何操作)

enter image description here

7-单击您的主要项目的GPUImage.xcodeproj> blue project icon,中间/中央窗格应位于Build Phases上。确保不要单击GPUImage.xcodeproj,即 WRONG 文件夹

enter image description here

8-仍在“构建阶段”下,单击TARGETS,然后单击Dependencies

enter image description here

9-当出现弹出窗口时,选择plus sign,然后选择GPUImage_iOS(确保您选择的是 iOS 版本而不是macOS版本)

enter image description here

10-现在您将在Add下看到GPUImage_iOS依赖项(无需在此处做任何事情)

enter image description here

11-现在,当仍在Dependencies下时,单击带有库的Build Phases,然后单击Link Binary

enter image description here

12-当弹出窗口显示在 Workspace > GPUImage 下>选择plus sign然后按GPUImage.framework from 'GPUImage_iOS' target ...(确保选择{{ 1}}版本,而不是macOS版本

enter image description here

13-现在库已链接(无需在此处做任何事情)

enter image description here

14(a)-这很重要,如果在“构建阶段”下没有 Copy Files 文件夹而不是Xcode顶部并选择Add> {{1} }> iOS。如果该文件夹已经存在,我不确定该文件夹已经存在怎么办“复制文件” 文件夹最初并不在我那里,我已经使用步骤14(b)创建了。我会假设(如果已经存在)将其打开,然后继续步骤16

enter image description here

14(b)-如果出于某种原因Editor变灰了,do thisAdd Build Phase下,请在左上角按{ {1}},然后选择Add Copy Files Build Phase

enter image description here

15-现在,您将在“构建阶段”下面看到一个全新的Add Copy Files Build Phase目录

enter image description here

16-如果Build Phases尚未打开,请按切换按钮将其打开,然后在plus sign旁边将New Copy Files Phase更改为Copy Files

enter image description here

17-仍在Copy Files下时,按Destination,出现弹出窗口时,如果这是 iOS 项目,请在Resources下,选择顶部 Framework,然后按添加。最后一步是在布拉德的指导下进行的

添加新的“复制文件”构建阶段,将其目标设置为“框架”, 并添加上部GPUImage.framework(适用于iOS)或更低版本 GPUImage.framework(适用于Mac)

enter image description here

18-现在Copy Files已被添加到plus sign

enter image description here

19-您的“构建阶段”屏幕应如下图所示

enter image description here

20-清理项目Products

21-在您打算使用GPUImage的任何文件中,转到顶部并输入GPUImage.framework(它应该开始出现在自动完成功能下),然后构建您的项目。

enter image description here

22-测试以查看GPUImage中的类和方法是否在您的项目中起作用

GPUImage.framework

enter image description here

完成!