Include containers in the main object, not in the WatchKit extension

I have added the WatchKit extension for my current project. The project uses Cocoapods 0.36.1 to add some frameworks, but now I want to exclude some modules from the WatchKit extension project.

The WatchKit extension project does not require many frameworks that I use for my usual purpose, but I cannot get Cocoapods to work correctly after changing my subfile.

I am using use_frameworks! in my subfile, but after starting pod install I get the following messages:

 [!] 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. 

I did not change any settings for my basic configurations, but 2 of my 3 goals have the correct settings for Pods.debug or Pods.release . Without a basic configuration, the WatchKit App is used .

My original subfile

 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 

My modified subfile

Here I want to exclude some elements from my WatchKit project.

 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 
+8
ios swift cocoapods
source share
1 answer

The warnings issued by CocoaPods are related to two CocoaPods goals that try to be tied to the same goal in your application (which is not supported).

Ie, you have an explicit HomeHandler target, and you also associate an unnamed target with HomeHandler with the link_with "HomeHandler", "HomeHandler WatchKit Extension" .

My suggestion was to update your subfile to look something like this:

 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 end 
+13
source share

All Articles