type the raw not must literal have for enum does cannot ios xcode app-store swift3

ios - the - swift 4 enum string



Compatibilidad con Swift 3 iOS (2)

Soy nuevo en el desarrollo de Apple y pronto distribuiré mi aplicación a través de AppStore. Entonces, ahora estoy usando Swift 3 y, de forma predeterminada, el objetivo de implementación está configurado en iOS 10.0. ¿Significa que no podré ejecutarlo, por ejemplo, en iOS 8-9? ''Cos en Swift 3 uso nuevos funcs que no están disponibles en el sistema operativo posterior


Debe usar Swift 3.x (es la última versión de Swift desde que se publicó esta respuesta).

La versión de iOS NO está relacionada con la versión de Swift que debe usar, en cambio, algunas de las nuevas API proporcionadas admiten una versión mínima del sistema operativo. Pero, de nuevo, no está relacionado con el lenguaje de programación en sí mismo. Por ejemplo: una aplicación se ha creado a través de Swift 2.x (Deployment Target 9.x) debería funcionar en iOS 10; Al actualizar el IDE (xcode), admitirá, de manera predeterminada, la última versión del lenguaje de programación -Swift-.

Además, podrías hacer:

if #available(iOS 10, *) { // use an api that requires the minimum version to be 10 } else { // use another api }


Puede hacer que su aplicación se ejecute en iOS 8 y 9 configurando el Objetivo de implementación en una de estas versiones. Swift 3.x es compatible con iOS 8 y posterior (no estoy seguro, pero también podría ser compatible con iOS 7). La única diferencia con Swift 2.2 (con respecto a los requisitos del sistema) es que debe usar Xcode 8.

Cuando configura su Destino de implementación en una versión anterior a iOS 10, debe tener en cuenta que no puede usar API nuevas en iOS 10. (excepto que usa el operador #available ) Pero usar Swift 3 no debería ser un problema.

Editar: ahora puede cargar aplicaciones escritas en Swift 3 usando Xcode 8.0 GM