5

我有一个 Xcode 工作区,其中我已更新到 KIF 2.0(通过终端和 pod 文件中的 pod 'KIF' 更新 pod),之后我按照https://github.com/kif-中提供的说明配置了工作区framework/KIF#configure-the-testing-target(安装Cocoapods 部分)。但是当我尝试执行项目以及运行我的测试目标时,它会抛出一个错误,

ld: building for iOS Simulator, but linking against dylib built for MacOSX file '/Applications/Xcode.app/Contents/Developer/Library/Frameworks/SenTestingKit.framework/SenTestingKit' for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)

我还检查了这个链接:https ://groups.google.com/forum/#!msg/kif-framework/EilvCp2psZA/huUQ3sGpmwQJ 。但问题仍然存在。

我该如何纠正?下面提供了屏幕截图。在此处输入图像描述

当我尝试使用 iPhone 5 运行它时,它显示 5 链接器错误,例如

ld: warning: ignoring file /Applications/Xcode.app/Contents/Developer/Library/Frameworks/SenTestingKit.framework/SenTestingKit, missing required architecture armv7s in file /Applications/Xcode.app/Contents/Developer/Library/Frameworks/SenTestingKit.framework/SenTestingKit (2 slices)
Undefined symbols for architecture armv7s:
  "_OBJC_METACLASS_$_SenTestCase", referenced from:
      _OBJC_METACLASS_$_KIFTestCase in libPods.a(KIFTestCase.o)
  "_OBJC_CLASS_$_SenTestCase", referenced from:
      _OBJC_CLASS_$_KIFTestCase in libPods.a(KIFTestCase.o)
      l_OBJC_$_CATEGORY_SenTestCase_$_KIFAdditions in libPods.a(SenTestCase-KIFAdditions.o)
  "_SenTestToolKey", referenced from:
      +[KIFTestActor load] in libPods.a(KIFTestActor.o)
  "_SenSelfTestMain", referenced from:
      +[KIFTestActor load] in libPods.a(KIFTestActor.o)
ld: symbol(s) not found for architecture armv7s
clang: error: linker command failed with exit code 1 (use -v to see invocation)

在此处输入图像描述

4

4 回答 4

3

最新的可可豆荚版本也存在同样的问题。

您可以按照以下步骤解决此问题:

  • 选择 Pods 项目
  • 点击构建设置
  • 将仅构建活动架构更改为“否”
于 2013-11-05T10:51:43.303 回答
2

转到您的目标设置并将 SenTestingKit 添加到 Link binary with libraries。

于 2013-11-05T10:39:52.560 回答
1

删除 XCTest 框架对我有用。我知道这可能是你不想做的事情。

于 2014-06-30T18:51:19.923 回答
0

我在同事的帮助下解决了这个问题。两步: 1、把cocoapods更新到0.29.0就行了,因为0.29.0只是修复了一个bug,详细请看: https ://github.com/CocoaPods/CocoaPods/issues/1558 使用命令:sudo gem install cocoapods pod install pod update 2、如果你想在ios设备上运行你的应用程序,只需将Build Settings->Architectures更改为(Standard Architecture (armv7,armv7s)),

于 2014-02-25T05:26:37.300 回答