# 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