将OCMock添加到Xcode将不会在运行时链接
我正在尝试使用XTest和OCMock运行一个基本的mac应用程序。但我在运行时遇到了链接错误,我有几个普通XCMets运行得很好,但OCMock测试不起作用(为了简洁起见,隐藏了其他测试): 我所做的:将OCMock添加到Xcode将不会在运行时链接,xcode,xcode5,ocmock,xctest,Xcode,Xcode5,Ocmock,Xctest,我正在尝试使用XTest和OCMock运行一个基本的mac应用程序。但我在运行时遇到了链接错误,我有几个普通XCMets运行得很好,但OCMock测试不起作用(为了简洁起见,隐藏了其他测试): 我所做的: 下载最新的OCMock.framework并将其放入/Library/Frameworks 对于Xcode中的HarkTests目标,我在“链接二进制文件与库”中添加了OCMock,但是它没有显示在可用框架列表中,我必须手动导航到它。这对我来说是个危险信号,但我不知道为什么Xcode不能识别它
OCMock.framework
并将其放入/Library/Frameworks
HarkTests
目标,我在“链接二进制文件与库”中添加了OCMock,但是它没有显示在可用框架列表中,我必须手动导航到它。这对我来说是个危险信号,但我不知道为什么Xcode不能识别它编译时查找框架的逻辑与运行时查找框架的逻辑不同。OCMock使用
@rpath
机制。我本以为默认情况下,/Library/Frameworks
在路径上。事实似乎并非如此。您可以尝试将运行路径搜索路径
生成设置设置为包含已安装OCMock的目录。编译时查找框架的逻辑与运行时查找框架的逻辑不同。OCMock使用@rpath
机制。我本以为默认情况下,/Library/Frameworks
在路径上。事实似乎并非如此。您可以尝试设置运行路径搜索路径
生成设置,以包括已安装OCMock的目录。谢谢。就这样。我不得不将/Library/Frameworks
添加到运行时搜索路径中。但这太奇怪了,默认情况下它没有这个…谢谢。就这样。我不得不将/Library/Frameworks
添加到运行时搜索路径中。但这太奇怪了,默认情况下它没有这个。。。
#import <OCMock/OCMock.h>
- (void)testLoadingInvalidSettingsThrowsAnError
{
id harkMock = [OCMockObject mockForClass:[Hark class]];
[[[harkMock stub] andReturn:@"bla"] getSettingsAsRawJson];
XCTAssertThrowsSpecificNamed([harkMock loadSettings], NSException, @"InvalidJson");
}
2014-02-21 11:02:47.929 Hark[90819:303] Error loading /Users/chancee/Library/Developer/Xcode/DerivedData/Hark-bsndafsdxydbivhhuuuyelepegkp/Build/Products/Debug/HarkTests.xctest/Contents/MacOS/HarkTests: dlopen(/Users/chancee/Library/Developer/Xcode/DerivedData/Hark-bsndafsdxydbivhhuuuyelepegkp/Build/Products/Debug/HarkTests.xctest/Contents/MacOS/HarkTests, 262): Library not loaded: @rpath/OCMock.framework/Versions/A/OCMock
Referenced from: /Users/chancee/Library/Developer/Xcode/DerivedData/Hark-bsndafsdxydbivhhuuuyelepegkp/Build/Products/Debug/HarkTests.xctest/Contents/MacOS/HarkTests
Reason: image not found