2016-07-16 5 views
15

Funktionieren die Xcode 8 Swift 3-Apps erfolgreich auf iOS 7?Funktionieren die Xcode 8 Swift 3 Apps erfolgreich auf iOS 7?

Ich habe versucht, dies ein paar Tests unten beschrieben zu bestimmen, aber kann ein Experte mit einem besseren Verständnis von App Store Entwicklung bitte helfen erklären die Gründe für die Erfolge und Misserfolge einschließlich der Fragen unten?


-Test 1.

So habe ich Xcode 7.3.1 geöffnet und erstellt eine App mit Swift 2.2. Ich beabsichtige, die Anwendung von iOS 7 bis iOS 10 zu implementieren.

Ich führe die App auf dem iOS 9.3 iPhone Simulator mit Erfolg und dann die App auf einem tatsächlichen iOS 7.1.2 iPhone Gerät mit Erfolg auch laufen.


Test 2.

Als nächstes habe ich das gleiche Projekt genommen und öffnete sie in Xcode 8 Beta 2 (ich war entweder Swift 2.3 oder Swift 3. Ich Update zu aktualisieren, aufgefordert, Swift 2.3 dann später zu Swift 3.)

Nachdem ich die iOS Target Deployment als 7.0 manuell eingegeben habe, liefere ich die App auf dem iOS 10 Beta 2 iPhone Simulator mit Erfolg. Allerdings versuche ich dann, die App auf einem aktuellen iOS 7.1.2 iPhone Gerät auszuführen, aber diesmal kein Erfolg, der untenstehende Fehler wird angezeigt. Ich wiederhole den Test mit Swift 2.3 und Swift 3 mit dem gleichen Fehler:

Could not locate device support files

This iPhone 4S is running iOS 7.1.2 (11D257), which may not be supported by this version of Xcode.


Test 3

Also den nächst ich versuche, die .ipa App-Datei in Xcode 8 Beta erstellt Installation 2 direkt auf das eigentliche iOS 7.1.2 iPhone Gerät über iTunes nach Erhalt eines Archivs der App (Produkt> Archiv ...)

Nachdem die .ipa App Datei ist die Übertragung auf das iOS 7.1.2 iPhone Gerät über iTunes abgeschlossen, ich dann starten Sie die App auf dem tatsächlichen Gerät, diesmal mit Erfolg.


Ergebnisse. enter image description here


Fragen:

  • Was kann ich von allen Testergebnissen in der Tabelle machen oben?

  • Wichtig ist, wenn es Zeit ist, die App über den App Store zu verteilen, der in Xcode 8 mit Swift 3 erstellt wurde, dass die App, die erfolgreich über iTunes auf einem iOS 7.1.2 iPhone Gerät installiert wurde, Ist die App weiterhin für alle iOS 7-Geräte kompatibel, wenn sie im App Store heruntergeladen werden?

  • Xcode 7.3.1 ermöglicht Geräte von iOS 7 bis iOS 9 zum Testen und Debuggen während der Entwicklung?

  • Xcode 8 erlaubt keine iOS 7-Geräte zum Testen und Debuggen während der Entwicklung, erlaubt aber dennoch die Bereitstellung von Apps auf iOS 7-Geräten?

  • Was ist der Sinn von Swift 2.3 als Zwischenschritt zu Swift 3?

+1

Sie sollten versuchen, sich auf jeweils eine Frage zu beschränken. – Rob

+1

Re Swift 2.3, [Was ist neu in Swift] (https://developer.apple.com/videos/play/wwdc2016/402/) sagte: "Wenn Sie nicht ganz bereit sind, zu Swift 3 zu springen, ist Swift 2.3 einfach Swift 2.2, das mit den neuen SDKs funktioniert, okay, und wir werden sowohl mit Swift 3 als auch mit 2.3 Submissionen an den App Store akzeptieren, aber Sie sollten wissen, dass es einige Schlüsselfunktionen in Xcode gibt, die von Swift 3 abhängen Spielplätze und Dokumentation sowie die neuen Funktionen wie Thread Sanitizer. " – Rob

+1

Ich wünschte, die Frage selbst könnte abgestimmt werden! Danke für die Ergebnismatrix, wirklich hilfreich! –

Antwort

10

Ich würde zögern, zu viele Schlussfolgerungen aus Ihren empirischen Tests zu ziehen. Konkret würde ich nicht annehmen, nur weil Sie es auf iOS 7 laufen lassen, dass es garantiert auf iOS 7 funktioniert. Sie scheinen nur iOS 8+ Unterstützung zu garantieren.

Nebenbei empfiehlt Apple generell, nur eine iOS-Version zu unterstützen. Und, as of May 9th, nur 5% der Geräte laufen mit iOS 7 oder früher (und dies wird wahrscheinlich noch weiter reduziert werden, wenn iOS 10 veröffentlicht wird).

+2

Danke, Rob. "5% der Geräte laufen iOS 7 oder früher" ist immer noch eine Menge Geräte. Ich möchte eine App so vielen Benutzern zur Verfügung stellen, die sie ausführen möchten, die nicht auf eine neue iOS-Version aktualisieren können oder können. Die Entscheidung, zu Swift 3 zu gehen und möglicherweise iOS7 zurückzulassen (insbesondere während des Tests), habe ich noch nicht gelöst. – user4806509

+3

Das ist in Ordnung. By the way, das ist nicht 5% iOS 7 verwenden. Das ist 5% mit iOS 7 _oder früher._ Das könnte alle diese Hardware stecken auf früheren iOS-Versionen (z. B. habe ich mehrere iPod Berührungen in iOS-Versionen von 6 und früher gesperrt) . Es gibt nur sehr wenige Geräte in iOS 7 (z. B. iPhone 4, aber nicht 3GS oder 4s). Fazit: Der Marktanteil von iOS 7 könnte deutlich unter 5% liegen. Und das muss man gegen die zusätzlichen Entwicklungskosten und/oder die geopferte App-Funktionalität abwägen. Aber sicher ist das dein Ruf. – Rob

+0

Um Szenarien zu umgehen, in denen Sie Apps auf iOS 7 von Xcode 8 debuggen müssen, habe ich nach der Aktualisierung auf Swift 2.3 festgestellt, dass Sie die Symantec-Support-Dateien von Xcode 7.3.1 auf iOS 7-Geräten bereitstellen können Beispiel: sudo ln -s /Applications/Xcode.7.3.1.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport/7.*/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS. Plattform/GerätSupport / – jc1001

2

Do Xcode 8 Swift 3 apps run on iOS 7 successfully?

Siehe Swift 3 iOS compatibility. Garantierte iOS 8-Unterstützung, unsicher über iOS 7. Siehe this answer auf Swift 2 und iOS 7. Der letzte Kommentar besagt, dass Apple wahrscheinlich nicht möchte, dass du auf iOS 7 abzielst. Wenn es nicht funktioniert, ist wahrscheinlich nicht Swift das Problem, aber Xcode sagt nein.

What can I make of all the testing outcomes in the table above?

Ich bin mir nicht sicher, was du hier meinst.

Es ist wahrscheinlich nie sicher, etwas zu erwarten, in dem Sie versuchen, Xcode zu umgehen.

Xcode 7.3.1 allows devices from iOS 7 through to iOS 9 for testing and debugging while in development?

Und? Xcode 8 nicht. iOS 7 bis iOS 9 sind zwei Versionen, iOS 8 bis iOS 10 sind zwei Versionen.

What is the point of Swift 2.3 as an intermediate step to Swift 3?

Da Swift 3 ist so ein großer Sprung von Swift 2.2, bieten sie Swift 2.3, wenn Sie nicht bereit sind, 3 noch zu Swift gehen. Sie empfehlen jedoch, zu Swift 3 zu wechseln. Mit Swift 3 können Sie außerdem auf einige neue Funktionen zugreifen.

Verwandte Themen