我正在尝试制作一个可在图像上添加过滤器的相机/照片应用。我听说过Brad Larson的GPUImage,所以我下载了它并尝试操作它以便更熟悉代码。
现在,我在Xcode中创建了一个新项目并将其添加到我的框架中,但我不知道如何在新项目中使用它。
如何在新项目中正确使用GPUImage?
答案 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集成到项目中的最简单方法可能是cocopods。虽然GPUImage CocoaPods repo实际上并不是由Brad维护的,但它的维护是非常规律的,它使集成变得轻而易举。
>
Go get it 答案 3 :(得分:1)
这是在 iOS 中通过视觉指示在 Xcode 中的 Swift 5 中实现的方法:
开始之前有两件事。
1-转到GPUImage gitHub page
2-在右上角,单击绿色的Code
按钮,然后单击Download Zip
3-在您当前的Xcode项目(您要使用GPUImage的项目)中,单击蓝色项目图标下方的第一个文件夹
4-之后,转到Xcode的顶部,然后单击File
> Add Files to "yourProject"
5-当新窗口出现时,转到Downloads
(或在第二步中下载GPUImage的任何位置)> GPUImage3-master
> framework
> GPUImage.xcodeproj
,然后单击{ {1}}。确保选中Add
和Copy Items if Needed
很重要。
6-现在您将在Xcode项目内的第3步相同文件夹下看到Create groups
(无需执行任何操作)
7-单击您的主要项目的GPUImage.xcodeproj
> blue project icon
,中间/中央窗格应位于Build Phases
上。确保不要单击GPUImage.xcodeproj,即 WRONG 文件夹
8-仍在“构建阶段”下,单击TARGETS
,然后单击Dependencies
9-当出现弹出窗口时,选择plus sign
,然后选择GPUImage_iOS
(确保您选择的是 iOS 版本而不是macOS版本)
10-现在您将在Add
下看到GPUImage_iOS
依赖项(无需在此处做任何事情)
11-现在,当仍在Dependencies
下时,单击带有库的Build Phases
,然后单击Link Binary
12-当弹出窗口显示在 Workspace > GPUImage 下>选择plus sign
然后按GPUImage.framework from 'GPUImage_iOS' target ...
(确保选择{{ 1}}版本,而不是macOS版本
13-现在库已链接(无需在此处做任何事情)
14(a)-这很重要,如果在“构建阶段”下没有 Copy Files 文件夹而不是Xcode顶部并选择Add
> {{1} }> iOS
。如果该文件夹已经存在,我不确定该文件夹已经存在怎么办。 “复制文件” 文件夹最初并不在我那里,我已经使用步骤14(b)创建了。我会假设(如果已经存在)将其打开,然后继续步骤16
14(b)-如果出于某种原因Editor
变灰了,do this或Add Build Phase
下,请在左上角按{ {1}},然后选择Add Copy Files Build Phase
15-现在,您将在“构建阶段”下面看到一个全新的Add Copy Files Build Phase
目录
16-如果Build Phases
尚未打开,请按切换按钮将其打开,然后在plus sign
旁边将New Copy Files Phase
更改为Copy Files
17-仍在Copy Files
下时,按Destination
,出现弹出窗口时,如果这是 iOS 项目,请在Resources
下,选择顶部 Framework
,然后按添加。最后一步是在布拉德的指导下进行的
添加新的“复制文件”构建阶段,将其目标设置为“框架”, 并添加上部GPUImage.framework(适用于iOS)或更低版本 GPUImage.framework(适用于Mac)
18-现在Copy Files
已被添加到plus sign
19-您的“构建阶段”屏幕应如下图所示
20-清理项目Products
21-在您打算使用GPUImage的任何文件中,转到顶部并输入GPUImage.framework
(它应该开始出现在自动完成功能下),然后构建您的项目。
22-测试以查看GPUImage中的类和方法是否在您的项目中起作用
GPUImage.framework
完成!