当模拟器在SDK 5.1中时,单元测试会抛出错误

时间:2013-02-13 18:55:33

标签: ios objective-c unit-testing ocunit

当目标设置为6.1时,我的单元测试运行正常,当我浏览模拟器中的功能时,代码本身就很好。

认为问题在于单元测试期望6.1 SDK存在,但它实际上使用的是5.1 SDK。

这是错误:

dyld: Symbol not found: _objc_setProperty_nonatomic_copy
  Referenced from: /Users/{my username}/Library/Developer/Xcode/DerivedData/{my app name}/Build/Products/Debug-Live-iphonesimulator/AgrianUnitTest.octest/AgrianUnitTest
  Expected in: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.1.sdk/System/Library/Frameworks/Foundation.framework/Foundation

我的第一个想法是更改单元测试目标中的Base SDK,但除了Latest和6.1之外我没有任何选项(在“找不到SDK”时手动输入5.1结果)。

1 个答案:

答案 0 :(得分:0)

之前的升级后,您的Xcode位置可能不是最新的。尝试修复位置。在终端中运行:

sudo /usr/bin/xcode-select -switch /Applications/Xcode.app/Contents/Developer/
export DEVELOPER_DIR=/Applications/Xcode.app