ios - 添加单元测试时 Mach-O 链接器错误 - XCode

标签 ios xcode ocunit

我正在尝试将 OCUnit 测试添加到现有项目(在 XCode 4.6.3 中)。我按照此处的说明进行操作 - http://twobitlabs.com/2011/06/adding-ocunit-to-an-existing-ios-project-with-xcode-4/但是,只有在尝试运行测试时,我才会收到 78 Mach-O 错误。我可以很好地编译主要目标。

需要注意的是我还没有修改测试,它们只是标准模板。我不确定我做错了什么。

一条错误信息

Undefined symbols for architecture i386: "_AudioComponentFindNext", referenced from: l651 in libNuanceSpeechAnywhere.a(libSpeechKit.a-i386-master.o) l652 in libNuanceSpeechAnywhere.a(libSpeechKit.a-i386-master.o)

这是一堆错误的屏幕截图。

enter image description here

最佳答案

在用头敲击键盘几个小时后,如果您使用的是 CocoaPods,我找到了这个解决方案:

在您的 podfile 中,添加您的测试目标以及必要的依赖项

workspace 'MyProject'

target 'MyProject' do

  use_frameworks!

  pod 'Alamofire', '~> 4.0'
  pod 'RealmSwift'

end

target 'MyProjectTests' do
    use_frameworks!

    pod 'Alamofire', '~> 4.0'
    pod 'RealmSwift'

end

post_install do |installer|
  installer.pods_project.targets.each do |target|
    target.build_configurations.each do |config|
      config.build_settings['SWIFT_VERSION'] = '3.0'
    end
  end
end

然后只需运行 pod install,一切都应该正确配置。我建议运行 pod install --verbose 以便您可以查看是否有任何警告。如果您手动编辑构建配置,Pod 会提示。按照建议进行操作,然后重新安装。就像一个魅力。

关于ios - 添加单元测试时 Mach-O 链接器错误 - XCode,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21147779/

相关文章:

ios - iOS7中已经实现了滚动手势如何实现页面切换?

ios - 调用 NSUserdefaults 中的函数来解析 Watchkit/Today Widget 数据的最佳实践?

objective-c - 使用 UIAutomation 设置测试数据

xcode - 使用 AVPlayer 在 macOS SwiftUI 应用程序中播放本地视频文件

iphone - OCUnit 无法识别导入的文件

ios - 哪个应用程序授权对话框最先显示?推送或定位

ios - Xcode 测试版 4 : Can't create a Bot - Crashes every time

ios - 选择特定月份和年份的数据 sqlite xcode

ios - 是否可以测试 IBAction?

objective-c - 如何在单元测试中访问 NSDocumentDirectory (OCUnit)