当我创建一个引用(而不是 CocoaPods 等)AudioKit 框架之一的新 XCode 项目时,XCode 不会自动完成 AudioKit 声明,并且显式声明 AudioKit 对象(例如 AKMIDISampler)会导致生成错误:“AKMIDISampler”是不可用:找不到此类的 Swift 声明。
通常,问题在于在 XCode 中正确输入框架搜索路径。然而,即使我为我的目标和项目输入了框架的相对路径,我仍然得到相同的结果。
这可能是所有第 3 方框架的问题,但我在这里参考 AudioKit 提出这个问题,因为我之前在 Google 的 AudioKit 支持小组中看到过这个问题。
设置新项目以使用 AudioKit 以便识别 AudioKit 并自动完成工作的最佳实践是什么?
我已经制定了解决方案并将其发布在这里以供将来参考。
以下是使用 AudioKit 进行设置的分步说明。
有两点需要注意:
- 该解决方案是使用 XCode 9.1 发布的。
- 此解决方案中使用的 AudioKit 框架是从下载的预构建二进制文件http://audiokit.io/downloads/ http://audiokit.io/downloads/。我已将它们放在 Libraries 文件夹中,比我保存项目的位置高 2 个文件夹。
Steps:
- 在 XCode 中创建一个新项目
- 选择适当的目标,然后在嵌入式二进制文件下选择“+”。选择“添加其他...”并导航到正确的 AudioKit 框架。我未选中“复制项目”,以便在框架发生更改时可以在硬盘驱动器上的一个位置更新框架。我还选择“创建组”而不是文件夹引用,但我不确定这是否会影响解决方案。
- 选择“构建设置”并转到“框架搜索路径”。对于目标,将 $(inherited) 作为您的搜索路径。对于该项目,输入 $(SRCROOT)/.对我来说,这看起来像 $(SRCROOT)/../../_Libraries/AudioKit-iOS
现在您可以导入 AudioKit 并且声明应该解析。
上面的步骤 3 通常是最容易出错的一点。许多人期望隐含 SRCROOT 并期望仅输入相对路径就足够了,但事实并非如此。必须指定 SRCROOT。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)