# if canImport () no encuentra marcos con CocoaPods
Hola aquí está nuestro Podspec que tiene una subespecificación opcional. Esa subespecificación tiene más funciones, pero ocupa 8 MB adicionales de tamaño ...
`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
Ahora, en nuestro SDK principal incluimos SDK adicional con # if canImport (adicional SDK) Luego proporcionamos código relacionado con SDK adicional entrelos indicadores del compilador, como este:
#if canImport(additionalSDK)
//adding optional delegate
class ViewController: UIViewController, OptionalDelagate
#else
//no need for delagete
class ViewController: UIViewController
#endif
Sin embargo, después de que el cliente integra nuestro mainSDK, ve que este marco falta módulo: AdditionalSDK.framework
¿Cómo es esto posible? Hemos marcado adicional SDK como opcional en nuestro espacio de trabajo. Hemos intentado establecer adicional SDK como un -weak_framework inotras banderas de enlace (Configuración de compilación), pero esto no ayudó.
Si el cliente integra adicional SDK todo funciona bien, porque todos los marcos están vinculados ..
Dependencias opcionales, sin CocoaPods funciona bien, es solo un problema de CocoaPods o no sé cómo configurarlo