Pod install requires target membership not to be verified

Question

How to configure cocoapods so that pod installation results are set in a storyboard with ProjectName ID for the target membership?

Background

I have a framework and application that are created by my company. We use Artifactory and Cocoapods to deploy the framework and pull it into the application. The structure contains a storyboard, which is then used by the application to represent the form. I am using Xcode 8

Pod targets created with 'pod install'

  • Projectname
  • ProjectName-ProjectName
  • Beans-ProjectNameTest

Problem

The problem is that the goals created when you run 'pod install' must be updated manually.

ProjectName-ProjectName. , :

*** - "NSInvalidArgumentException", : " " ProjectName " NSBundle...

let bundle = NSBundle.init(forClass: ProjectNameViewController.classForCoder())]
let storyboard = UIStoryboard(name: "ProjectName", bundle: bundle)

ProjectName, .

podspec

Pod::Spec.new do |spec|

  spec.name     = 'ProjectName'
  spec.version  = '0.3.1'
  spec.license  = { :type => "MIT", :file => "LICENSE" }
  spec.summary  = 'Summary.'
  spec.homepage = 'http://COMPANYWEBSITE'
  spec.authors  = 'Author'
  spec.source   = { :git => 'https://github.com/ProjectName.git',
                    :tag => spec.version.to_s, :submodules => true }
  spec.requires_arc = true
  spec.ios.deployment_target = '8.2'

  spec.framework        = 'Foundation, UIKit'
  spec.source_files     = 'ProjectName/**/*.{swift}'
  spec.resource_bundle = { 'ProjectName' => ['ProjectName/Resources/**/*'] }

end

Podfile

use_frameworks!

plugin 'cocoapods-art', :sources => [
  'companyname-public'
]

target 'ProjectNameTest' do
  pod 'ProjectName'
end 
+4
1

, :

spec.resource_bundle = { 'ProjectName' => ['ProjectName/Resources/**/*'] } 

to

spec.resources = 'ProjectName/Resources/**/*'
+5

Source: https://habr.com/ru/post/1656965/


All Articles