Dies ist eine sehr einfache Frage, die ich annehme. Kann mir jemand sagen, was das Bereitstellungsziel bedeutet? Wenn ich mich für IOS 10 entscheide, bedeutet dies, dass nur Benutzer mit iOS 10 die App herunterladen können. Ist es schlecht, ein niedrigeres Bereitstellungsziel zu wählen? AUCH, wenn Sie das Bereitstellungsziel fortsetzen, wird nicht empfohlen, es auf einem niedrigeren Bereitstellungsziel auszuführen.
96
Antworten:
Nehmen wir an, Sie haben ein Mindestbereitstellungsziel für iOS 9 festgelegt. Dies bedeutet, dass Ihre Anwendung für Geräte mit iOS 9 und höher kompatibel ist .
Die Anwendung kann nicht auf Geräten unter 9.0 ausgeführt werden, kann jedoch auf jeder iOS-Version ausgeführt werden, die größer als iOS 9.0 ist.
quelle
Deployment Target
letztendlich die Info.plist geändert. Dies ist eine bequeme Möglichkeit, die (wahrscheinlich) nach Xcode 4.xDas Bereitstellungsziel bestimmt die Fähigkeit Ihrer App, auf älteren iOS-Versionen ausgeführt zu werden.
App with deployment target set to 10 will work on iOS version 10+ (10, 11, 12, 13 ...) but won't work on 9.x.
Wenn eine neue Version von iOS veröffentlicht wird, machen sich einige Benutzer nicht die Mühe, ihre Geräte auf die neueste iOS-Version zu aktualisieren, und somit auch nicht
can't download your app from the App Store
.Beispiel
Wenn Sie ein höheres Bereitstellungsziel auswählen
(e.g 12.1)
, kann Ihre App nicht für Benutzer heruntergeladen werden, die über die neuesten Geräte verfügen, jedoch über eine ältere iOS-Version (iPhone X mit 11.0). Im Gegensatz dazu Wenn Sie das niedrigstmögliche Bereitstellungsziel auswählen(e.g 6.0)
, versuchen Sie, Ihre App maximal abwärtskompatibel zu machen (selbst wenn jemand sein iOS seit Jahren nicht mehr aktualisiert hat, kann er Ihre App herunterladen).VORSICHT
Viele (fast alle) neueren Frameworks und Funktionen können auf niedrigeren iOS-Versionen nicht ordnungsgemäß ausgeführt werden (Verhalten wie erwartet), was die Wahrscheinlichkeit von App-Abstürzen erhöht.
Was beeinflusst das Bereitstellungsziel?
Im Folgenden sind einige Faktoren aufgeführt, die ein höheres Bereitstellungsziel erfordern.
1) Verwenden des neuesten iOS SDK (allein)
2) Verwenden der neuesten iOS SDK-spezifischen Funktionen (Einschränkungen, neuere XIB-Dateien usw.).
3) Verwenden Sie schnell anpassbare externe Bibliotheken / Frameworks (z. B. Facebook SDK, Firebase usw.).
4) Eine höhere Swift-Version (5.0) erfordert ein höheres Bereitstellungsziel als das Schreiben Ihrer App in Legacy-Ziel C)
!Needs citation
.LÖSUNG
Wir haben Deploymate für maximale Rückwärtsunterstützung verwendet. Es hilft uns hauptsächlich dabei, Folgendes zu warnen:
1) Neuere APIs, die unter niedrigeren iOS-Versionen nicht funktionieren
2) Verwenden veralteter Methoden, die unter neueren iOS-Versionen nicht funktionieren.
Zu diesem Zeitpunkt beginnen Sie mit der Korrektur Ihres Codes, um ihn für niedrigere iOS-Versionen für maximale Kompatibilität verfügbar zu machen.
Hinweis: Xcode informiert auch über verschiedene Fallstricke. Deploymate ist weder mit uns verbunden noch bezahlt er uns in irgendeiner Form. Sie können nach anderen Alternativen suchen.
quelle
Deployment Target
ist eine Mindestversion von iOS, die Ihr Ziel unterstützt.Es bedeutet, dass:
So ändern Sie es in Xcode 11.5
quelle
Wenn Sie Xcode noch nicht kennen, empfehle ich, die Standardeinstellung zu akzeptieren und sie als Einschränkung für Ihr Projekt zu betrachten.
Mit neueren Xcode-Versionen wird die Unterstützung älterer Zielwerte entfernt. Unternehmen mit umfangreichen Kundenstämmen müssen dieses Problem auf ihre eigene Weise lösen.
In den meisten Projekten, an denen ich gearbeitet habe, ist die iOS-Version wichtig, da sie vorschreibt, auf welchen Geräten Ihre Anwendung ausgeführt werden kann.
Beispielsweise hat iOS 10 im Wesentlichen alle iPod-Anschlüsse zurückgelassen.
quelle