我在当前的项目中添加了一个WatchKit扩展。该项目使用Cocoapods 0.36.1添加一些框架,但现在我想从WatchKit扩展项目中排除一些pods。
WatchKit扩展项目不需要我在我的正常目标中使用的很多框架,但是在修改我的文件之后,我无法让Cocoapods正确地工作。
我在我的Podfile中使用use_frameworks!,但是在运行pod install之后,我得到以下消息:
[!] CocoaPods did not set the base configuration of your project because your project already has a custom config set. In order for CocoaPods integration to work at all, please either set the base configurations of the target `HomeHandler` to `Pods/Target Support Files/Pods-HomeHandler/Pods-HomeHandler.debug.xcconfig` or include the `Pods/Target Support Files/Pods-HomeHandler/Pods-HomeHandler.debug.xcconfig` in your build configuration.
[!] CocoaPods did not set the base configuration of your project because your project already has a custom config set. In order for CocoaPods integration to work at all, please either set the base configurations of the target `HomeHandler` to `Pods/Target Support Files/Pods-HomeHandler/Pods-HomeHandler.release.xcconfig` or include the `Pods/Target Support Files/Pods-HomeHandler/Pods-HomeHandler.release.xcconfig` in your build configuration.
[!] CocoaPods did not set the base configuration of your project because your project already has a custom config set. In order for CocoaPods integration to work at all, please either set the base configurations of the target `HomeHandler WatchKit Extension` to `Pods/Target Support Files/Pods-HomeHandler WatchKit Extension/Pods-HomeHandler WatchKit Extension.debug.xcconfig` or include the `Pods/Target Support Files/Pods-HomeHandler WatchKit Extension/Pods-HomeHandler WatchKit Extension.debug.xcconfig` in your build configuration.
[!] CocoaPods did not set the base configuration of your project because your project already has a custom config set. In order for CocoaPods integration to work at all, please either set the base configurations of the target `HomeHandler WatchKit Extension` to `Pods/Target Support Files/Pods-HomeHandler WatchKit Extension/Pods-HomeHandler WatchKit Extension.release.xcconfig` or include the `Pods/Target Support Files/Pods-HomeHandler WatchKit Extension/Pods-HomeHandler WatchKit Extension.release.xcconfig` in your build configuration.我没有为我的基本配置更改任何设置,但我的3个目标中有2个设置了正确的Pods.debug或Pods.release设置。没有基本配置的是WatchKit App。
我的原始文件
platform :ios, '8.0'
use_frameworks!
source 'https://github.com/artsy/Specs.git'
source 'https://github.com/CocoaPods/Specs.git'
pod 'AFNetworking', :git => 'https://github.com/AFNetworking/AFNetworking.git'
pod 'CocoaLumberjack', '~> 2.0.0'
pod 'MagicalRecord', :git => "https://github.com/magicalpanda/MagicalRecord.git"
pod 'PureLayout'
pod 'UAProgressView'
pod 'UICKeyChainStore'
pod 'XLForm', git: 'git@github.com:xmartlabs/XLForm.git'
pod 'Classy', git: 'git@github.com:depl0y/Classy.git'
pod 'Reveal-iOS-SDK', :configurations => ['Debug']
pod 'JBChartView', '~> 2.8.9'
pod 'RFQuiltLayout'
pod 'HUMSlider', '~> 1.0'
pod 'SwiftEventBus', :git => 'https://github.com/cesarferreira/SwiftEventBus.git'
post_install do |installer_representation|
installer_representation.project.targets.each do |target|
if target.name == "Pods-AFNetworking"
target.build_configurations.each do |config|
config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] = ['$(inherited)', 'AF_APP_EXTENSIONS=1']
end
end
if target.name == "Pods-PureLayout"
target.build_configurations.each do |config|
config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] = ['$(inherited)', 'PURELAYOUT_APP_EXTENSIONS=1']
end
end
end
end我修改的Podfile
这就是我想从我的WatchKit项目中排除某些豆荚的地方。
platform :ios, '8.0'
use_frameworks!
source 'https://github.com/artsy/Specs.git'
source 'https://github.com/CocoaPods/Specs.git'
link_with "HomeHandler", "HomeHandler WatchKit Extension"
pod 'AFNetworking', :git => 'https://github.com/AFNetworking/AFNetworking.git'
pod 'CocoaLumberjack', '~> 2.0.0'
pod 'MagicalRecord', :git => "https://github.com/magicalpanda/MagicalRecord.git"
pod 'UICKeyChainStore'
target :HomeHandler do
pod 'XLForm', git: 'git@github.com:xmartlabs/XLForm.git'
pod 'UAProgressView'
pod 'Classy', git: 'git@github.com:depl0y/Classy.git'
pod 'Reveal-iOS-SDK', :configurations => ['Debug']
pod 'JBChartView', '~> 2.8.9'
pod 'RFQuiltLayout'
pod 'HUMSlider', '~> 1.0'
pod 'SwiftEventBus', :git => 'https://github.com/depl0y/SwiftEventBus.git'
pod 'PureLayout'
end
post_install do |installer_representation|
installer_representation.project.targets.each do |target|
if target.name == "Pods-AFNetworking"
target.build_configurations.each do |config|
config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] = ['$(inherited)', 'AF_APP_EXTENSIONS=1']
end
end
if target.name == "Pods-PureLayout"
target.build_configurations.each do |config|
config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] = ['$(inherited)', 'PURELAYOUT_APP_EXTENSIONS=1']
end
end
end
end发布于 2015-03-29 13:38:38
CocoaPods输出的警告是由于两个CocoaPods目标试图链接到应用程序中的单个目标(这是不支持的)。
也就是说,您有一个显式的目标HomeHandler,并且您也将无名的目标链接到HomeHandler和link_with "HomeHandler", "HomeHandler WatchKit Extension"。
我的建议是修改您的Podfile,如下所示:
platform :ios, '8.0'
use_frameworks!
source 'https://github.com/artsy/Specs.git'
source 'https://github.com/CocoaPods/Specs.git'
def shared_pods
pod 'AFNetworking', :git => 'https://github.com/AFNetworking/AFNetworking.git'
pod 'CocoaLumberjack', '~> 2.0.0'
pod 'MagicalRecord', :git => "https://github.com/magicalpanda/MagicalRecord.git"
pod 'UICKeyChainStore'
end
target 'HomeHandler' do
shared_pods
pod 'XLForm', git: 'git@github.com:xmartlabs/XLForm.git'
pod 'UAProgressView'
pod 'Classy', git: 'git@github.com:depl0y/Classy.git'
pod 'Reveal-iOS-SDK', :configurations => ['Debug']
pod 'JBChartView', '~> 2.8.9'
pod 'RFQuiltLayout'
pod 'HUMSlider', '~> 1.0'
pod 'SwiftEventBus', :git => 'https://github.com/depl0y/SwiftEventBus.git'
pod 'PureLayout'
end
target 'HomeHandler WatchKit Extension' do
shared_pods
endhttps://stackoverflow.com/questions/29321844
复制相似问题