以下是在 Xcode 中的 Swift 5 中为 iOS 使用 Visual Directions 的方法:
开始之前的两件事。
- 您应该在项目的复制/复制上开始此过程,直到正确为止(我尝试了几次),或者甚至从一个新项目开始。如果出现问题,您希望保持原始项目完好无损
- 如果您打开了一个项目,其中包含您尝试复制的 GPUImage,请确保先将其关闭。你会得到一个错误,说有一个项目已经打开了
1-转到GPUImagegitHub page
2- 在右上角,单击绿色的Code 按钮,然后单击Download Zip
3- 在您当前的 Xcode 项目(您要使用 GPUImage 的项目)中单击蓝色项目图标下方的第一个文件夹
4- 之后转到 Xcode 顶部并单击 File > Add Files to "yourProject"
5- 当新窗口出现时,转到 Downloads(或您在第二步中下载 GPUImage 的任何位置)> GPUImage3-master > framework > GPUImage.xcodeproj,然后单击 Add。请务必检查 Copy Items if Needed 和 Create groups。
6- 您现在将在您的 Xcode 项目中的第 3 步中的同一文件夹下看到 GPUImage.xcodeproj(无需对其进行任何操作)
7- 点击你的 main 项目的blue project icon > Build Phases 并且中间/中心窗格应该在TARGETS 上。确保您不要单击 GPUImage.xcodeproj,即 WRONG 文件夹
8- 在 Build Phases 下单击 Dependencies 然后单击 plus sign
9- 当弹出窗口出现时选择GPUImage_iOS,然后选择Add(确保选择iOS版本而不是macOS版本)
10- 您现在将在 Dependencies 下看到 GPUImage_iOS 依赖项(此处无需执行任何操作)
11 - 现在在Build Phases 下单击Link Binary 与库,然后单击plus sign
12- 当弹出窗口出现在 Workspace > GPUImage > 选择 GPUImage.framework from 'GPUImage_iOS' target ... 然后按 Add(确保选择 iOS 版本而不是macOS 版本)
13- 现在库已链接(此处无需执行任何操作)
14(a)- 这很重要,如果在 Build Phases 下没有 Copy Files 文件夹,则转到 Xcode 顶部并选择 Editor > Add Build Phase > @987654396 @。如果文件夹已经存在如果文件夹已经存在我不知道该怎么办。 Copy Files 文件夹最初并不适合我,我是使用步骤 14(b) 创建的。如果它已经存在,我会假设打开它并继续第 16 步
14(b)- 如果由于某种原因Add Copy Files Build Phase变灰、do this 或在Build Phases 下方,请在左上角按plus sign,然后选择@ 987654400@
15- 现在您将在 Build Phases 下看到一个全新的 Copy Files 目录
16- 如果Copy Files 尚未打开,请按切换按钮将其打开,然后将Destination 旁边的Resources 更改为Framework
17- 在Copy Files下,按下plus sign,出现弹窗时,如果这是iOS项目,在Products下,选择top GPUImage.framework 并按添加。这最后一步在布拉德的指导下
添加一个新的 Copy Files 构建阶段,将其目标设置为 Frameworks,
并添加 上层 GPUImage.framework (for iOS) 或更低
GPUImage.framework (for Mac) 到那个
18- 现在 GPUImage.framework 刚刚添加到 Copy Files
19- 您的构建阶段屏幕应如下所示
20-清理项目Shift+Command+K
21- 在您打算使用 GPUImage 的任何文件中转到顶部并输入 import GPUImage(它应该开始出现在自动完成下)然后构建您的项目。
22- 测试 GPUImage 中的类和方法是否在您的项目中工作
// nothing is supposed to actually happen here, just test to see if the SmoothToonFilter() class and filterWithOperation() method are recognized without any errors
let testImage = UIImage(named:"some_image_from_your_assets")!
let toonFilter = SmoothToonFilter()
let _ = testImage.filterWithOperation(toonFilter)
完成!