nik*_*ers 1 c++ cocoapods podspec swift audiokit
快速摘要:如何将包含Xcode的标头的包含路径添加到.podspec.json文件中?
我正在开发一个Swift项目,我希望将AudioKit作为依赖项包含在内.对于这个项目,我必须添加'use_frameworks!' 在我的Podfile中
所以我在Podfile中添加了我的Pod(主要的repo还没有更新,这就是我直接指向github repo的原因)
pod 'AudioKit', :git => 'https://github.com/niklassaers/AudioKit.git'
Run Code Online (Sandbox Code Playgroud)
并添加我的一个Swift文件
import AudioKit
Run Code Online (Sandbox Code Playgroud)
然后我的编译器会警告我,这CsoundFile.hpp是iostream无法找到的引用.iostream.h在:
/Applications/Xcode62.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr/include/c++/4.2.1/backward/iostream.h
与stdlib.h相比,它位于:
/Applications/Xcode62.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr/include/stdlib.h
如何将此标头目录添加到AudioKit.podspec.json(我已经分叉)的搜索路径中.
我已经制作了一个示例项目来演示我在上面所写的内容:https://github.com/niklassaers/AudioKitSwiftFrameworkError - 您可以下载并编译它,您将看到错误消息.
这里的主要问题AudioKit.podspec.json是缺少公共标头定义.因此,所有标头都被认为是公共的,包括C++标头.
由于没有来自Objective-C类头的传递导入,如果只将那些声明为public,它仍然可以工作:
"public_header_files": [
"AudioKit/Core Classes/**/*.h",
"AudioKit/Instruments/**/*.h",
"AudioKit/Notes/**/*.h",
"AudioKit/Operations/**/*.h",
"AudioKit/Parameters/**/*.h",
"AudioKit/Sequencing/**/*.h",
"AudioKit/Tables/**/*.h",
"AudioKit/Utilities/**/*.h"
],
…
"osx": {
…
"public_header_files": ["AudioKit/Platforms/OSX/classes/*.h"]
}
"ios": {
…
"public_header_files": ["AudioKit/Platforms/iOS/classes/*.h"]
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1069 次 |
| 最近记录: |