objective c - Vendored framework inside of pod not recognized by project or other pods (Cocoapods/Cocoapods #3810) -


in project, reference several private pods company uses. 1 of these pods called dkkit dependent on private pod i've included called baseprokit. baseprokit contains 3 frameworks references inside of header , implementation files, believe considered vendored_frameworks. in existing header files of baseprokit, there references these frameworks via imports #import <ppcommon/ppcommon> work fine (usually) when compiling while solely relying on baseprokit pod. however, when dkkit included, there header alias dkkit looks when importing (baseprokit.h) contains above import. however, in context of dkkit, seem dkkit pod unaware of existence of ppcommon framework, , sees header files' aliases referenced via pods-baseprokit. because of this, , references <ppcommon/anything> create compilation errors (not found), , way i've been able figure out far referencing via #import "ppcommon.h" require me adjust of imports in entire baseprokit project, , doesn't feel right.

i have included following files reference: podspec baseprokit:

  s.name         = "baseprokit"   s.version      = "1.0.5"   s.source_files = "baseprokit/baseprokit.h",                    "baseprokit/data/*.{h,m}",                    "baseprokit/sensor calibration/*.{h,m}",                    "baseprokit/sp3d/baseballscenecontroller/*.{h,m}",                    "baseprokit/sp3d/sceneelements/*.{h,m,hpp,cpp}",                    "baseprokit/sp3d/sceneenvironment/*.{h,m}",                    "baseprokit/third party/devicemodeldetector.{h,m}",                    "baseprokit/third party/skyprokitemptymmfile.{h,mm}"   s.resources = "baseprokit/satellitelibrary/satellitelibrary.bundle","baseprokit/sp3d/sp3dresources.bundle", "baseprokit/sp3d/models/vertex data/*"   s.frameworks = "glkit", "opengles", "foundation", "uikit", "accelerate", "ppcommon", "satellitelibrary", "sp3d"   s.library = 'c++'   s.prefix_header_file = "baseprokit/baseprokit-prefix.pch"   # s.public_header_files = "baseprokit/ppcommon/ppcommon.framework/headers/*.h", "baseprokit/satellitelibrary/satellitelibrary.framework/headers/*.h", "baseprokit/sp3d/sp3d.framework/headers/*.h"    s.vendored_frameworks = "baseprokit/ppcommon/ppcommon.framework",                           "baseprokit/satellitelibrary/satellitelibrary.framework",                           "baseprokit/sp3d/sp3d.framework" 

the podspec dkkit:

    s.name          = "dkkit"     s.version       = "1.0.0"      s.source_files  = 'dkkit/**/*.{h,m}'     s.resources = 'dkkit/**/*.xcdatamodeld'     s.dependency 'promisekit/promise', '~> 1.3.0'     s.dependency 'mbprogresshud', '~> 0.9.1'     s.prefix_header_contents = '#import "nsdictionary+merge.h"'     s.frameworks = 'coredata'      s.dependency 'baseprokit', '~> 1.0.5'     s.dependency 'swinganalysiskit', '~> 1.0.0' 

my project's podfile:

pod 'swinganalysiskit', :git => "https://swing-analysis-kit-url", :branch => "develop" pod 'baseprokit', :git => "https://base-pro-kit-url", :branch => "develop" pod 'dkkit', :git => "https://dkkit-url", :branch => "develop" 

is there doing differently in either of podspec files (particularly 1 baseprokit) assure these frameworks can references as frameworks (rather header files) outside of pod itself?

copying cocoapods/cocoapods repository issue well: https://github.com/cocoapods/cocoapods/issues/3810

there number of issues raised on cocoapods repo related - e.g., 1824, 3161. believe has been fixed in 0.38.0.beta.1 -

added recursive support public headers of vendored frameworks automatically linked in sandbox. fixes , issue framework header directories contain sub-directories. todd casey #3161

public headers of vendored frameworks automatically linked in sandbox. allows transitive inclusion of headers other pods. vincent isambart #3161

source: changelog


Comments

Popular posts from this blog

android - Gradle sync Error:Configuration with name 'default' not found -

java - Andrioid studio start fail: Fatal error initializing 'null' -

html - jQuery UI Sortable - Remove placeholder after item is dropped -