Ne basés sur la Swift applications fonctionnant sur OS X 10.9/iOS 7 et inférieur?
Sera Swift applications basées sur le travail sur OS X 10.9 (Mavericks)/iOS 7 et inférieur?
Par exemple, j'ai une machine qui fonctionne OS X 10.8 (Mountain Lion), et je me demandais si une application que j'ai écris dans Swift va s'exécuter.
- En supposant que Swift est compilé dans un "normal" exécutable et en supposant qu'il n'y a pas de Swift spécifiques de la bibliothèque d'exécution nécessaires dans l'OS, alors oui, il doit s'exécuter sur des systèmes plus anciens. Nous ne savons pas encore. Télécharger Xcode 6 et de l'essayer.
- Une réponse officielle sera trouvé dans l'État de l'Union de la vidéo.
- FWIW: lors de la WWDC, dans une rapide présentation, il a été clairement indiqué que rapide et Objective-C ont la même exécution.
- Il est de notoriété publique et a même été mentionné dans le discours qu'il fonctionne sur les systèmes d'exploitation.
- Dans Xcode 6 bêta 3, Swift compilateur n'accepte plus aucune Api obsolète en 10.9 et plus bas, ce qui rend encore plus difficile le retour port code actuel, de travailler avec les anciennes versions de systèmes d'exploitation.
- Pas besoin de s'inquiéter à propos de... Apple: 80% des utilisateurs actifs sont maintenant en cours d'exécution iOS 7 - arstechnica.com/apple/2014/01/...
- Swift 2.0 mise à jour: iOS 7 / 10.9 comme Swift 1.0. [Par ma réponse ici.][1] [1]: stackoverflow.com/a/31702716/201199
- Cette question est celui qui est utilisé comme un exemple sur la page d'accueil.
Vous devez vous connecter pour publier un commentaire.
Je l'ai juste testé pour vous, Swift applications compiler en standard, les fichiers binaires et peut être exécuté sur OS X 10.9 et iOS 7.
Simple demande rapide utilisée pour le test:
UIViewController
après les deux points représente le type de la variable et la deuxième occurrence après la=
signe appelle le constructeur (initialise la variable).controller
etlabel
, par exemplevar controller = UIViewController()
. L'un des principaux directeurs de Swift semble être sur la suppression de "bruit".Code Swift peuvent être déployées pour OS X 10.9 et iOS 7.0. Il sera généralement crash au démarrage sur les anciennes versions de systèmes d'exploitation.
Apple a annoncé que Swift apps sera compatible avec iOS 7 et OS X Mavericks. La WWDC application est écrite en Swift.
Mise à jour - Comme par Xcode 6 Bêta 4
À partir de Xcode 6 note de version
Donc ma réponse précédente(voir ci-dessous) ne sera pas applicable à tout développement ultérieur. Swift n'est plus disponible pour iOS6 et ci-dessous
Rapidement une application peut être exécutée sur iOS 6. Même si beaucoup de gens disent que la Swift ne prendra en charge que iOS 7+ et OS X 10.9+, à partir de mon expérience, il n'est pas.
J'ai testé une simple demande écrite entièrement en Swift dans un iOS 6 appareil. Il fonctionne parfaitement bien. Comme Apple l'a dit, le code Swift est binaire compatible avec Objective-C du code. Il utilise le même compilateur et de l'exécution pour créer le fichier binaire.
Voici le code que j'ai testé:
C'est une application simple, juste l'ajout d'un bouton de la programmation. Mon application ne contient que deux fichiers,
AppDelegate.swift
etViewController.swift
.Donc, si vous n'êtes pas en utilisant les nouvelles Api ajoutée dans le cadre de l'iOS 8 SDK ou certains Swift des Api spécifiques (correspondant de l'API n'est pas disponible pour Objective-C), votre application va fonctionner sur iOS 6 ou version ultérieure (testé et de travail), même sur iOS 5 (pas testé). La plupart des Api Swift sont juste le remplacement de l'actuel Objective-C Api. En fait, ils sont les mêmes dans les binaires.
Remarque: Comme par Xcode 6 bêta 4 pour swift applications cible de déploiement doit être iOS 7 et OS X 10.9(voir ci-dessus la mise à jour). Donc swift n'est plus disponible pour iOS6 et ci-dessous
En bref:
Swift en fonction des applications peuvent cibler retour à OS X Mavericks ou iOS 7 avec la même application.
Comment est-il possible ?
Xcode intègre un petit rapide de la bibliothèque d'exécution au sein de votre application bundle. Parce que la bibliothèque est intégrée à votre application utilise une version cohérente de Swift qui s'exécute sur le passé, le présent et le futur OS de presse.
Pourquoi devrais-je faire confiance à cette réponse ?
Parce que je ne suis pas en disant que cette réponse est une pomme gars m'a dit sur twitter ou j'ai écrit bonjour tout le monde et de le tester.
Je l'ai pris de apple developer blog.
de sorte que vous pouvez faire confiance à ce.
Swift utilise le même moteur d'exécution comme Objective-C et peuvent même vivre côte-à-côte Objective-C dans la même application (comme par la WWDC 2014 keynote).
Cela devra être vérifié/vérifié à l'aide de Xcode 6 et le nouveau SDK pour trouver une réponse définitive.
J'ai lu toutes les réponses qui dit: Non, Swift ne fonctionne pas avec moins de iOS 7. Mais j'ai dit OUI, je viens de créer rapidement un projet qui fonctionne sous Xcode 5 6.0 cible de déploiement.
Alors que le projet fonctionne bien dans simulateur 6.1. Mon MacOS X 10.9.3, alors j'ai dit oui, qui s'exécute dans le bas de iOS 7. avec 10.9.3 Mac OS X.
Ici, c'est une capture d'écran du simulateur:
Voici une démo ainsi
Alors que le code confirme, Apple lui-même a dit que Swift sera compatible avec iOS 7 et Mavericks dans leurs techniques de keynote (État des plates-formes, session 102, autour de l'34 min 00 sec marque) à La WWDC 2014.
Swift applications sont prises en charge sur iOS 7 et au-dessus de comme indiqué dans la Bêta 4 notes de version.
iOS 6.0, 6.1, 7.0, 7.1, 8.0 dans Xcode 6 BetaSwift applications sont prises en charge sur les plates-formes OS X 10.9 et au-dessus de.
OS X 10.4 à 10.10 dans la Cible de Déploiement. Je l'ai testé sur le ciblage de 10,5 à 10.10, et en cours d'exécution sur 10.9.3Il semble Swift applications ne pas exécuter sur OS X 10.7. Je viens de créer une simple application de l'interface utilisateur (vue, un logo, un bouton) qui fonctionne très bien sur Mavericks. La base SDK est fixé à 10,9 et la cible de déploiement à 10.7. J'ai copié cette application à partir de la DerivedData dossier sur mon 10.7 de la machine virtuelle, et il crashs lors du démarrage, montrer cette erreur:
Cependant, ce message est irritant, car il ya certainement une CoreGraphics de la bibliothèque dans cette machine virtuelle. D'autres applications qui font un usage intensif de CoreGraphics fonctionnent tout aussi bien.
C'est de la post j'ai lu d'apple Swift blog, peut être utile:
La Compatibilité Avec L'Application:
Si vous écrivez un Swift application, vous pouvez avoir confiance que votre application fonctionnera bien dans l'avenir. En fait, vous pouvez cibler retour à OS X Mavericks ou iOS 7 avec la même application. Cela est possible parce que Xcode intègre un petit Swift de la bibliothèque d'exécution au sein de votre application bundle. Parce que la bibliothèque est intégrée à votre application utilise une version cohérente de Swift qui s'exécute sur le passé, le présent et le futur OS de presse.
La Compatibilité binaire et les Cadres:
Alors que votre application d'exécution de compatibilité est assurée, la Swift de la langue elle-même continuera d'évoluer, et l'interface binaire va aussi changer. Pour être sûr, tous les composants de votre application doit être construit avec la même version de Xcode et le Swift compilateur afin de vous assurer qu'ils travaillent ensemble.
Cela signifie que les cadres doivent être gérés avec soin. Par exemple, si votre projet utilise des cadres de partage de code avec un intégré à l'extension, vous aurez envie de construire les cadres, applications et extensions ensemble. Il serait dangereux de se reposer sur binaire des cadres utilisation de Swift — en particulier auprès de tiers. Comme Swift changements, ces cadres seront incompatibles avec le reste de votre application. Lorsque l'interface binaire se stabilise dans un an ou deux, la Swift runtime va devenir une partie de l'OS hôte et cette limitation n'existe plus.
J'ai testé l'exécution d'un nu-os, Swift application basée sur un iPod Touch (3e génération) de l'appareil. Il semble Swift applications basées ne pas fonctionner avec iOS 5.x mais ne fonctionner avec iOS 6.x.
Voici ce qui s'affiche dans le journal de débogage lorsque j'ai essayé de lancer l'appli de test avec iOS 5.0.1:
Pour iOS 6.1.6, l'application fonctionne très bien sans l'affichage de ces messages d'erreur.
Il semble y avoir beaucoup de vieilles réponses ici, donc je voulais juste poster la réponse officielle de l'équipe Swift. Swift est compatible avec OS X Mavericks et iOS 7
Des développeurs d'Apple swift blog : Objective-C id Swift Tout
Jul 11, 2014
Compatibilité
L'une des questions les plus courantes que nous avons entendu lors de la WWDC a été, “qu'est-Ce que la compatibilité histoire de Swift?”. Cela semble être une bonne première rubrique.
La Compatibilité Avec L'Application
Tout simplement, si vous écrivez un Swift application aujourd'hui et de le soumettre à l'App Store cet Automne lors de l'iOS 8 et OS X Yosemite sont libérés, vous pouvez avoir confiance que votre application fonctionnera bien dans l'avenir. En fait, vous pouvez cibler retour à OS X Mavericks ou iOS 7 avec la même application. Cela est possible parce que Xcode intègre un petit Swift de la bibliothèque d'exécution au sein de votre application bundle. Parce que la bibliothèque est intégrée à votre application utilise une version cohérente de Swift qui s'exécute sur le passé, le présent et le futur OS de presse.
J'ai aussi essayé un très simple application sur 10.8 (un seul bouton, texte sur une étiquette). Il s'est écrasé au démarrage, comme Greg Parker a déclaré:
(C'était à l'aide d'une cible de déploiement de 10,7)
Essayez le code suivant:
Ça fonctionne sans StoryBoard:
Oui, en fait, Apple a annoncé que Swift apps sera compatible avec iOS 7 et OS X Mavericks. En outre, la WWDC application est écrite dans le langage de programmation Swift.
Quand il s'agit de Swift Cadres.
Aujourd'hui, avec Xcode version 6.1.1 (6A2008a), si la Swift cadre est destiné à iOS 7.1, rapport de liaison avertissement
et de la demande ne peut pas être soumis à l'AppStore. Cochez cette question : Les peluches pour prévenir les bibliothèques dynamiques et des cadres de passer à iOS 7
Mach-O Type
doit êtreDynamic Library
, cependant, iOS 7 accepteStatic Library
Seulement.Mise à Jour rapide, efficace de 15 février 2015, nous ne pouvons pas présenter des applications dans le store qui ont été développés à l'aide d'un SDK avant iOS 8. Donc, en gardant cela à l'esprit , de son mieux pour ne pas s'inquiéter de cette question que beaucoup de gens ont suggéré que les applications mises en Swift peut être déployé à OS X 10.9 et iOS 7.0 ainsi.
Répondu code-extrait de posté par le leandros semble un peu vieux. J'ai fixé et il compilable en Swift 5.
Swift 5