我遇到了Cocoapods和Xcode 7 beta 6的问题:我有一个包含三个不同测试目标(测试,UITests,IntegrationTests)的项目。我的pod似乎与第一个目标一起正常工作("测试")但其他目标有问题:
Embed Pods Frameworks
,所以我手动添加了它。附加了屏幕截图,显示了链接器错误。同样,只有当我尝试在后两个目标中使用XCGLogger时才会发生这种情况。它在第一个目标中工作正常。
只是为了彻底......这是我使用的Podfile:
platform :ios, "8.0"
use_frameworks!
target 'Glimpulse' do
pod "SwiftSpinner", :git => 'https://github.com/zbeckman/SwiftSpinner.git'
pod 'XCGLogger', :git => 'https://github.com/DaveWoodCom/XCGLogger.git', :branch => 'swift_2.0'
pod 'GRValidation', '~> 0.2'
end
target 'GlimpulseTests' do
pod "SwiftSpinner", :git => 'https://github.com/zbeckman/SwiftSpinner.git'
pod 'XCGLogger', :git => 'https://github.com/DaveWoodCom/XCGLogger.git', :branch => 'swift_2.0'
pod "Nimble", :git => 'https://github.com/Quick/Nimble.git', :branch => 'swift-2.0'
pod "Quick", :git => 'https://github.com/zbeckman/Quick.git', :branch => 'swift-2.0'
pod 'GRValidation', '~> 0.2'
# pod "SwiftCheck", :git => 'https://github.com/zbeckman/SwiftCheck.git', :branch => 'swift-develop'
end
target 'GlimpulseUITests' do
pod "SwiftSpinner", :git => 'https://github.com/zbeckman/SwiftSpinner.git'
pod 'XCGLogger', :git => 'https://github.com/DaveWoodCom/XCGLogger.git', :branch => 'swift_2.0'
pod "Nimble", :git => 'https://github.com/Quick/Nimble.git', :branch => 'swift-2.0'
pod "Quick", :git => 'https://github.com/zbeckman/Quick.git', :branch => 'swift-2.0'
pod 'GRValidation', '~> 0.2'
# pod "SwiftCheck", :git => 'https://github.com/zbeckman/SwiftCheck.git', :branch => 'swift-develop'
end
target 'GlimpulseIntegrationTests' do
pod "SwiftSpinner", :git => 'https://github.com/zbeckman/SwiftSpinner.git'
pod 'XCGLogger', :git => 'https://github.com/DaveWoodCom/XCGLogger.git', :branch => 'swift_2.0'
pod "Nimble", :git => 'https://github.com/Quick/Nimble.git', :branch => 'swift-2.0'
pod "Quick", :git => 'https://github.com/zbeckman/Quick.git', :branch => 'swift-2.0'
pod 'GRValidation', '~> 0.2'
# pod "SwiftCheck", :git => 'https://github.com/zbeckman/SwiftCheck.git', :branch => 'swift-develop'
end
link_with 'GlimpulseUITests'
link_with 'GlimpulseIntegrationTests'
答案 0 :(得分:2)
啊哈。好吧,我想我已经弄明白了,经历了很多痛苦和折磨,重新创建,pod install
,重复......并摆弄Xcode目标。我的发现:
Cocoapods 0.38.2不喜欢Xcode 7 beta 6" iOS UI测试套装"目标类型。
设置新目标并运行pod install
时,主要问题是显而易见的。安装似乎运行正常但如果查看构建阶段,则Embed pods frameworks
阶段缺失。但是,如果我手动创建此阶段(根据目标调整路径),它就会构建。
但是...... 还有一些奇怪的事情发生了。上面显示的错误(关于当前架构的链接)仍然会发生。这里最奇怪的部分:如果我改变目标使用&#39;仅针对活动架构构建:<强> NO 强>&#39;一切都很好。我没有得到最后一点,因为只应为当前架构构建pod。但是......如果集成被打破了那么......好吧,谁知道,也许它会在下一个Cocoapods版本中修复。
另一个令人失望的发现:新的UI测试目标类型不似乎支持@testable
功能。游民。希望他们将其添加到Xcode 7的最终版本中......
答案 1 :(得分:0)
只需将此格式用于Podfile
:
source 'https://github.com/CocoaPods/Specs.git'
target 'firstTarget', :exclusive => false do
platform :ios, '7.0'
pod 'SwiftSpinner', '~> 0.7'
pod 'XCGLogger', '~> 2.3'
pod 'Nimble', '2.0.0-rc.3'
pod 'Quick', '~> 0.6'
pod 'GRValidation', '~> 0.2'
end
... repeat for every target
在pod
找到cocoapods.org
语法。
答案 2 :(得分:0)