如何使用Cocoapods设置Kiwi?

时间:2012-05-24 16:04:40

标签: cocoa-touch unit-testing cocoapods kiwi

我是Kiwi和Cocoapods的新手。我开始运行Cocoapods,但是在我开始玩Kiwi之前,我的测试目标失败了,出现了这样的错误:

Undefined symbols for architecture i386:
  "_CGRectZero", referenced from:
  -[EGOImageButton initWithPlaceholderImage:delegate:] in libPods.a(EGOImageButton.o)

这是我的Podfile:

platform :ios
dependency 'RestKit/Network', '~>0.10.0'
dependency 'RestKit/UI', '~>0.10.0'
dependency 'RestKit/ObjectMapping', '~>0.10.0'
dependency 'RestKit/ObjectMapping/XML', '~>0.10.0'
dependency 'RestKit/ObjectMapping/JSON', '~>0.10.0'
dependency 'RestKit/ObjectMapping/CoreData', '~>0.10.0'
dependency 'SVProgressHUD'
dependency 'EGOImageLoading'
dependency 'OHAttributedLabel'
dependency 'SFHFKeychainUtils'

target :test, :exclusive => true do
    dependency 'Kiwi'
end

2 个答案:

答案 0 :(得分:3)

您的测试是否依赖于您的其他Cocoapods依赖项?在Podfile中,尝试删除测试目标中的:exclusive => true。这将允许您的其他依赖项包含在您的测试目标中,但会将Kiwi限制在您的测试目标中。

答案 1 :(得分:3)

你必须做一些基本的设置,类似于Kiwi Wiki上从头开始安装Kiwi的说明(https://github.com/allending/Kiwi/wiki/Guide:-Up-and-Running-with-Kiwi

  1. 在Xcode中,将名为“test”的单元测试目标添加到应用程序项目(添加目标/可可触摸单元测试包)
  2. 将Kiwi引用添加到PodFile(如上所述)
  3. 运行pod install。
  4. 编辑主要目标的架构,将单元测试目标添加到“测试”选项卡(这样就可以执行cmd-U)
  5. 将主目标可执行文件的路径添加到单元测试目标中的BundleLoader构建设置:例如。 $(BUILT_PRODUCTS_DIR)/Foo.app/Foo
  6. 将您的Kiwi测试添加到测试目标