# se canImport () não encontrar estruturas com CocoaPods

Olá, aqui está o nosso Podspec, que possui um subespécie opcional. Essa subespecificação tem mais recursos, mas ocupa 8 MB adicionais de tamanho ...

`s.default_subspec = 'mainSDK'

s.subspec 'mainSDK' do |mainSDK|
mainSDK.vendored_frameworks = 'mainSDK.framework'
mainSDK.source_files = "mainSDK.framework/Headers/*.h"
end

s.subspec 'additionalSDK' do |additionalSDK|
additionalSDK.source_files = "additionalSDK.framework/Headers/*.h"
additionalSDK.vendored_frameworks =['additionalSDK.framework', 'mainSDK.framework'
end

Agora, em nosso mainSDK, incluímos SDK adicional com # if canImport (additionalSDK) Em seguida, fornecemos o código relacionado ao SDK adicional entre aqueles sinalizadores de compilador, como este:

#if canImport(additionalSDK)
    //adding optional delegate
    class ViewController: UIViewController, OptionalDelagate
#else
    //no need for delagete
    class ViewController: UIViewController
#endif

No entanto, depois que o cliente integra nosso mainSDK, ele vê que esse framework está faltando módulo: adicionaisSDK.framework

Como isso é possível? Marcamos o SDK adicional como opcional em nossa área de trabalho. Tentamos definir adicionaisSDK como um -weak_framework emoutros sinalizadores de vinculador (Configurações de compilação), mas isso não ajudou.

Se o cliente integrar adicionaisSDK tudo funciona bem, porque todas as estruturas estão vinculadas ..

​ ependências opcionais, sem o CocoaPods funcionar bem, é apenas um problema do CocoaPods ou não sei como configurá-l