我正在尝试在Swift项目中使用一些新的AVFoundation类(例如AVAudioEngine,AVAudioFile)。
以下代码编译正常,但我在运行时收到错误:
let engine = AVAudioEngine()
let player = AVAudioPlayerNode()
engine.attachNode(player)
运行时错误:
dyld: Symbol not found: _OBJC_CLASS_$_AVAudioEngine
Referenced from: /Users/jamie/Library/Developer/Xcode/DerivedData/TestAVAudioEngineSwift-btgetxkmjogozkbndstxrmmtnncb/Build/Products/Debug/TestAVAudioEngineSwift.app/Contents/MacOS/TestAVAudioEngineSwift
Expected in: /System/Library/Frameworks/AVFoundation.framework/Versions/A/AVFoundation
in /Users/jamie/Library/Developer/Xcode/DerivedData/TestAVAudioEngineSwift-btgetxkmjogozkbndstxrmmtnncb/Build/Products/Debug/TestAVAudioEngineSwift.app/Contents/MacOS/TestAVAudioEngineSwift
Objective-C中的等效代码编译并运行良好。
它正在/System/Library/Frameworks
寻找框架似乎有点奇怪。我尝试将AVFoundation.framework从Xcode6-beta应用程序包拖到我的项目中,但这并没有解决问题。
我在Swift方面做错了什么? Xcode配置问题?
编辑:我已经使用import AVFoundation
答案 0 :(得分:0)
此问题可以通过升级到OS X 10.10来解决,OS X 10.10包含更新的AVFoundation框架。
AVFoundation类在OS X 10.9上的Swift应用程序中导致运行时错误的事实是一个错误,并且已经通过Apple bug报告器报告。