XCode 无法识别引用的 AudioKit 框架
Referenced AudioKit framework is not recognized by XCode
当我创建一个引用(而不是 CocoaPods 等)AudioKit 框架之一的新 XCode 项目时,XCode 不会自动完成 AudioKit 声明并显式声明 AudioKit 对象(例如作为 AKMIDISampler) 导致生成错误:'AKMIDISampler' 不可用:找不到此 class.
的 Swift 声明
通常问题出在 XCode 中正确输入框架搜索路径。然而,即使我为我的目标和我的项目设置了框架的相对路径,我仍然得到相同的结果。
这可能是所有第 3 方框架的问题,但我在这里询问 AudioKit,因为我之前在 Google 的 AudioKit 支持组中看到过这个问题。
设置新项目以使用 AudioKit 以便识别 AudioKit 并自动完成工作的最佳做法是什么?
我已经找到解决方案并将其张贴在这里以供将来参考。
这里是使用 AudioKit 进行设置的分步说明。
注意两点:
- 此解决方案是使用 XCode 9.1.
发布的
- 此解决方案中使用的 AudioKit 框架是从 http://audiokit.io/downloads/ 下载的预构建二进制文件。我已将它们放在 Libraries 文件夹中,比我保存项目的文件夹高 2 个。
步骤:
- 在XCode
中创建一个新项目
- Select 适当的目标,在嵌入式二进制文件下,select '+'。选择 'Add Other...' 并导航到正确的 AudioKit 框架。我不选中 'Copy Items',这样当框架发生变化时,我可以在我的硬盘上的一个位置更新框架。我还 select 'Create groups' 而不是文件夹引用,但我不确定这是否会影响解决方案。
- Select 构建设置并转到框架搜索路径。对于目标,将 $(inherited) 作为您的搜索路径。对于项目,将 $(SRCROOT)/.对我来说,这看起来像 $(SRCROOT)/../../_Libraries/AudioKit-iOS
现在您可以导入 AudioKit 并且声明应该解析。
上面的第 3 步通常是错误最多的地方。许多人希望 SRCROOT 是隐含的,并希望只放入一个相对路径就足够了,但事实并非如此。必须指定 SRCROOT。
当我创建一个引用(而不是 CocoaPods 等)AudioKit 框架之一的新 XCode 项目时,XCode 不会自动完成 AudioKit 声明并显式声明 AudioKit 对象(例如作为 AKMIDISampler) 导致生成错误:'AKMIDISampler' 不可用:找不到此 class.
的 Swift 声明通常问题出在 XCode 中正确输入框架搜索路径。然而,即使我为我的目标和我的项目设置了框架的相对路径,我仍然得到相同的结果。
这可能是所有第 3 方框架的问题,但我在这里询问 AudioKit,因为我之前在 Google 的 AudioKit 支持组中看到过这个问题。
设置新项目以使用 AudioKit 以便识别 AudioKit 并自动完成工作的最佳做法是什么?
我已经找到解决方案并将其张贴在这里以供将来参考。
这里是使用 AudioKit 进行设置的分步说明。
注意两点:
- 此解决方案是使用 XCode 9.1. 发布的
- 此解决方案中使用的 AudioKit 框架是从 http://audiokit.io/downloads/ 下载的预构建二进制文件。我已将它们放在 Libraries 文件夹中,比我保存项目的文件夹高 2 个。
步骤:
- 在XCode 中创建一个新项目
- Select 适当的目标,在嵌入式二进制文件下,select '+'。选择 'Add Other...' 并导航到正确的 AudioKit 框架。我不选中 'Copy Items',这样当框架发生变化时,我可以在我的硬盘上的一个位置更新框架。我还 select 'Create groups' 而不是文件夹引用,但我不确定这是否会影响解决方案。
- Select 构建设置并转到框架搜索路径。对于目标,将 $(inherited) 作为您的搜索路径。对于项目,将 $(SRCROOT)/.对我来说,这看起来像 $(SRCROOT)/../../_Libraries/AudioKit-iOS
现在您可以导入 AudioKit 并且声明应该解析。
上面的第 3 步通常是错误最多的地方。许多人希望 SRCROOT 是隐含的,并希望只放入一个相对路径就足够了,但事实并非如此。必须指定 SRCROOT。