我会先说这个解决方案可能非常简单,但我已经尝试了几个小时来解决这个问题,我觉得它很接近,但有些事情仍然是错误的。
我正在创建一个Cocoapod,其中包含一些其他pod作为依赖项,我正在尝试设置项目/目标,但是遇到了我试图在{{1}中加载Cocoapod依赖项的问题}(PusherSwift.swift
等)失败。
以下是回购的链接:https://github.com/hamchapman/pusher-swift-test
任何人都可以看到没有加载pod框架的原因,以便可以在import Alamofire
文件中使用它们吗?
具体来说,我正在尝试运行(默认)测试,但它一直在说失败:
PusherSwift.swift
注意,我正在使用以下内容:
答案 0 :(得分:2)
好吧,我现在通过在PusherSwift项目中添加Pods项目使其工作。我不完全确定为什么它能使它工作但它基本上似乎只是让PusherSwift目标的框架可用。
答案 1 :(得分:1)
默认情况下,Cocoapods仅链接到项目中的第一个目标。第二个目标,通常是您的单元测试,没有链接。 http://guides.cocoapods.org/syntax/podfile.html#link_with
使用Podfile中的link_with
配置将pod明确链接到您的单元测试目标。例如
link_with 'MyApp', 'MyAppTests'
答案 2 :(得分:1)
做这样的事情:
target 'Echo' do
pod 'Alamofire'
pod 'AFNetworking'
pod 'Google/Analytics'
pod 'Google/AppInvite'
pod 'Appirater'
pod 'FDTake'
pod 'MBProgressHUD'
pod 'TDBadgedCell'
pod 'FDWaveformView'
pod 'SwiftyJSON'
target 'EchoTests' do
inherit! :search_paths
end
end
这使得测试目标具有主目标所具有的所有pod,但您仍然可以定义一些测试依赖项,如模拟或存根pod
答案 3 :(得分:0)
这是一个愚蠢的答案,但它确实有效。
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '9.0'
use_frameworks!
target 'Echo' do
pod 'Alamofire'
pod 'AFNetworking'
pod 'Google/Analytics'
pod 'Google/AppInvite'
pod 'Appirater'
pod 'FDTake'
pod 'MBProgressHUD'
pod 'TDBadgedCell'
pod 'FDWaveformView'
pod 'SwiftyJSON'
end
target 'EchoTests' do
pod 'Alamofire'
pod 'AFNetworking'
pod 'Google/Analytics'
pod 'Google/AppInvite'
pod 'Appirater'
pod 'FDTake'
pod 'MBProgressHUD'
pod 'TDBadgedCell'
pod 'FDWaveformView'
pod 'SwiftyJSON'
end
我确信有更好的方法可以做到这一点,但我找不到它!