2016-06-19 1 views
1

J'ai récemment commencé à développer une application Mac dans Swift 3.0 à l'aide de la bêta Xcode 8. Je prévois de terminer le développement d'ici la mi-août, soit avant la sortie publique de macOS. Ma machine de développement actuelle utilise El Capitan et mon code Swift 3.0 compilé fonctionne bien sur la version actuelle du système d'exploitation, ce qui est bon signe, mais je suis légèrement préoccupé par le fait qu'il peut y avoir des problèmes d'exécution du code sur les versions antérieures d'OS X 10.10). Est-ce une préoccupation valable? De plus, serai-je capable de publier l'application avec Swift 3.0 avant la sortie de macOS?Est-ce que Swift 3 est totalement rétrocompatible avec les versions précédentes du système d'exploitation?

+0

* Les applications Swift * sont compatibles jusqu'à 10.9 (Mavericks). Mais la vraie difficulté est de faire en sorte que l'application soit cohérente et se comporte de manière cohérente dans toutes les versions (certains SDK changent, d'autres sont ajoutés). – Moritz

+0

Eric D, Il semble que les principales différences de Swift 3.0 sont les changements de syntaxe de l'API (par exemple, Grand Central Dispatch avait une syntaxe majeure de swiftizing et de restructuration, mais je doute que l'implémentation réelle soit modifiée). Si tel est le cas, les changements de comportement ne devraient pas être une préoccupation majeure, correct? –

+0

Les modifications correctes et importantes passent d'abord par les étapes de dépréciation habituelles. – Moritz

Répondre

4

Chaque application Swift est livrée avec la bibliothèque standard Swift incluse. L'avantage de ceci est qu'il peut fonctionner sur plusieurs versions de système d'exploitation par défaut. Le point négatif est qu'il ajoute quelques Mo à votre ensemble d'applications final. Par conséquent, votre application fonctionnera sur les versions précédentes, mais gardez à l'esprit que vous ne pouvez pas envoyer d'applications sur le Mac App Store avant la sortie de Xcode 8 GM.

+0

Donc tout code écrit dans Swift 3 ne peut pas être libéré jusqu'à ce que macOS soit libéré? –

+0

@Jonny: Lire le dernier paragraphe ... https://developer.apple.com/support/beta-software/ –

+0

@ l'L, Merci pour le lien. Ai-je raison de supposer que tout le code d'implémentation de la bibliothèque standard de Swift est inclus dans l'ensemble d'applications? –