¿Importar condicionalmente un marco (como Speech) basado en la versión de iOS en Swift?
¿Hay alguna manera de importar condicionalmente un marco enSwift
basado en la versión iOS de tiempo de ejecución?
En particular, tengo una aplicación con un objetivo de implementación deiOS 8
. Me gustaría usar el nuevoApple Speech
framework en la aplicación, si está disponible en tiempo de ejecución. Soy consciente de la#available(iOS 10, *)
directiva para secciones de código, y la@available(iOS 10, *)
directiva que se puede utilizar para toda una clase. Por lo tanto, puedo evitar fácilmente ejecutar cualquier código que use el marco de Speech con ellos. Pero en el archivo que contiene la clase que usa Voz, necesito la instrucción "Importar Voz", y ninguna de esas dos directivas puede usarse allí. Estoy descubriendo que incluso si tengo el@available(iOS 10, *)
directiva en toda mi clase, cuando ejecuto mi aplicación en un dispositivo iOS 9, se cierra en el lanzamiento con
"dyld: Library not loaded: /System/Library/Frameworks/Speech.framework/Speech".
¿Me estoy perdiendo algo o solo es posible usar el marco de Speech en una aplicación que tiene un objetivo de implementación de 10?