2

我有一个使用 Cocoapods (ECSlidingViewController) 安装的库。在代码中,使用 -isKindOfClass 进行比较。在调试器中,打印描述和一切都表明这个变量是一个 ECSlidingViewController。但是,当代码运行时,它返回 NO。

目前我有我的 podfile 将库与主要目标和测试目标链接起来。如果我不这样做,测试目标将找不到库。

4

1 回答 1

1

这个答案为我解决了https://stackoverflow.com/a/27165120/2777364

简而言之,您不应该将 pod 与您的测试目标链接,您应该为测试目标创建与至少一个其他 pod 的单独链接,以强制生成配置集。

target 'MainTarget' do
    pod 'PodYouTryToTest'
end

target 'Tests' do
    pod 'AtLeastOneOtherPod'
end

上面的答案是解决这个问题的“正确方法”。作为一种快速解决方法,我可以提出一种方法:

Class getBundleDependentClass(Class class) { 
     return NSClassFromString(NSStringFromClass(class)); 
}
于 2015-01-16T09:39:26.943 回答