Nun, da das iPhone SDK 4.0 zum Download verfügbar ist und iOS 4.0 in Kürze für die Kunden verfügbar sein wird, ist es sinnvoll, die neuen Funktionen von 4.0 zu verwenden?
Mein wichtigstes Anliegen ist, dass die Verwendung der 4.0-Funktionen die Endbenutzer dazu verpflichtet, ihre Telefone / iPods auch auf 4.0 zu aktualisieren. Während dieser Prozess ziemlich schmerzlos ist, ist es vernünftig zu erwarten, dass die meisten Benutzer aktualisieren? Die Anwendung selbst braucht nicht wirklich etwas eingeführt in das neue Betriebssystem, aber einige der traditionellen Animationstechniken werden jetzt zugunsten ihrer blockbasierten Gegenstücke "entmutigt". Das ist für mich in Ordnung, ich würde lieber Block-Methoden verwenden, aber ich bin besorgt, dass dies ein Ärger für die Endbenutzer ist.
Was ist die allgemeine Erfahrung dazu? Stürzen Sie sich mit den neuesten und besten oder bleiben Sie mit der aktuellen Version?
ps. Dies setzt voraus, dass GM das Betriebssystem auf Endbenutzern installiert wird, wenn es verfügbar ist - nicht Beta.
Es kommt darauf an. Sie haben mindestens 3 Optionen und der beste Weg hängt von den Anforderungen Ihrer App ab:
Ihre App benötigt keine iOS 4.0-APIs - Sie sollten mit BaseSDK 4.0 erstellen, aber Zielimplementierung auf die erforderliche Mindestversion festlegen ( zB: 3.0).
Vorteile: (1) Ihre App läuft auf jedem Gerät mit mindestens dieser Target Deployment-Version und (2) unterstützt den schnellen App-Wechsel auf Geräten mit iOS 4.0.
Nachteile: Sie können keine APIs nach Ihrer Target Deployment-Version verwenden.
Ihre App wäre mit 4.0-APIs besser, wäre aber auch ohne sie nutzbar - wenn Sie 4.0-APIs bedingt verwenden können, indem Sie die Funktionalität vor iOS 4.0-Geräten oder durch Wenn Sie bei der Verwendung von Pre-4.0-Geräten eine ähnliche Funktionalität bei der Verwendung verschiedener APIs verwenden, können Sie mit BaseSDK 4.0 eine Zielimplementierung auf die erforderliche Mindestversion (dh 3.0) und bedingte Verwendung der iOS 4.0-API-Aufrufe festlegen. Vorteile: Sie können auf allen Geräten mit mindestens Ihrer iOS-Version arbeiten. Nachteile: all diese bedingten Aufrufe können kompliziert werden.
Ihre App erfordert einige iOS 4.0-APIs, um zu funktionieren - Hier haben Sie keine Wahl. Erstellen Sie mit BaseSDK 4.0, setzen Sie Target Deployment 4.0 und verwenden Sie diese 4.0 APIs.
Vorteil: Code ist einfacher, keine Bedingungen für iOS-Version
Nachteile: Ihre App wird noch nicht auf iPads laufen (sie erhalten 4.0 in "Fall 2010"), Ihre App wird niemals auf iPhones früher als 3G (sie werden nicht 4.0) und einigen iOS laufen 4.0-Funktionen werden auf dem iPhone 3G nicht funktionieren.
In allen Fällen ist Ihr Basis-SDK 4.0, Ihre Zielimplementierung wird das Minimum, das Sie benötigen , und wenn Sie eine neuere API benötigen, können Sie sie bedingt verwenden, wenn das Gerät sie hat.
Allein durch das Kompilieren mit BaseSDK 4.0 erhalten Sie eine schnelle App-Umschaltung auf 4.0-Geräten, auch wenn Sie keine 4.0-Funktionen verwenden. Alle Apps sollten das zumindest tun, selbst wenn sie auf iOS 2.0 ausgerichtet sind. Verwenden Sie die 4.0-Funktionen nicht, wenn Sie sie nicht benötigen, und Sie können auf eine größere Auswahl älterer Geräte und Geräte abzielen, die nicht aktualisiert wurden.
Diese aktuelle Antwort zu SO fasst zusammen, wie dieses Setup für BaseSDK und Target Deployment durchgeführt wird und wie Sie APIs gezielt für die Ausrichtung mehrerer Firmware-Versionen verwenden können.
Bei der empfohlenen -Konfiguration wird Base SDK auf die höchste Version (d. h. 4.0) und Deployment Target auf die entsprechende Version (abhängig davon, welche Framework-Funktion in Ihrer App verwendet wird) festgelegt.
Natürlich kann die App immer die Betriebssystemversion überprüfen und Aufrufe an nicht unterstützte Frameworks überspringen. Es ist eine gängige Technik, universelle Apps für iPad und iPhone zu erstellen.
Ich persönlich ziele normalerweise auf eine Hauptversion ab (d. h. auf Ziel 3.1 statt auf 4.0), die mir normalerweise ein Fenster mit dem Hinweis "Haben Sie Ihr Telefon im letzten Jahr aktualisiert?" Abhängig von Ihrer Anwendung können Sie jedoch auch Multitasking oder andere Funktionen nutzen, die nur in 4.0 verfügbar sind. Dann ist es eine Frage dessen, was Ihrer Meinung nach Ihre Benutzer sofort wollen. Wenn Sie denken, dass sie etwas warten können, sehen Sie, wie die Dinge laufen; Wenn Sie feststellen, dass viele Benutzer schnell auf Version 4.0 umgestellt werden, können Sie Ihre Änderungen übernehmen.
Meiner Meinung nach, wenn Sie ein paar Monate warten können, damit Leute in 4.0 übergehen können, dann halten Sie sich ein bisschen auf, ansonsten gehen Sie einfach mit den 4.0-Funktionen voran.
Basierend auf meinen Statistiken der letzten Jahre dauerte es über ein Jahr, bis 2.0- & gt; 3.0-Upgrades stattfanden, aber es waren hauptsächlich die iPod touch-Benutzer, da Apple $ 10 dafür verlangte.
Ich würde erwarten, dass die Akzeptanzrate bei 4.0 viel schneller ist, aber bedenken Sie, dass die ersten iPhones / IPods keine 4.0-Aktualisierung bekommen.
Ich habe festgestellt, dass das Betrachten der Nummern von iPhones / Macs usw. mit einem alten vs neuen Betriebssystemen nicht viel über die Ausgabengewohnheiten ihrer Besitzer aussagt.
Die Leute, die im App Store Geld ausgeben, haben mit höherer Wahrscheinlichkeit eine aktualisierte Betriebssystemsoftware.
Wenn Ihre App ein gewisses Maß an Komplexität aufweist, dauert es einige Zeit, um sie zu versenden, und Sie werden ein ziemlich kleines Fenster haben, in dem das iPad 3.x noch läuft.
Die Entwicklung für mehrere Betriebssystemebenen ist ein Schmerz. Neben der Notwendigkeit, Ihre App auf dem iPad / iPhone / iPod zu betreiben, müssen Sie jetzt auch mit 2 Betriebssystemen arbeiten. Fräulein, der einen Platz überprüft, wo Sie einen Aufruf nur mit 4,0 in selten ausgeführtem Code machen und Sie Stürze erhalten.
Für die langfristige Stabilität Ihrer Codebasis ist das Erstellen von 4.0 nur für eine neue App ebenfalls gut. Einfach ist besser.
Ich denke, es ist sicher zu erwarten, dass die Mehrheit der Benutzer ein Upgrade durchführen wird, da es sich um ein kostenloses Upgrade von 3.0 handelt. Es ist ziemlich offensichtlich, dass Apple daran interessiert ist, Benutzer auf 4.0 zu bringen, weshalb es kostenlos ist.
Wie bei einem normalen Update wird iTunes über ein Upgrade nagen, und wenn Sie das Telefon neu installieren müssen, wird es normalerweise auf die neueste Version umgeleitet.
Da Sie eine App verkaufen, können Sie ziemlich sicher sein, dass Ihre Käufer einen Internetzugang haben und zumindest gelegentlich ihre Telefone andocken und die kostenlose Update-Anfrage erhalten. Personen, die ihre Mobiltelefone zuvor aktualisiert haben, werden sehr wahrscheinlich ebenfalls auf iOS4 aufrüsten.
Momentan, so wie ich es sehe, wäre die Hauptmotivation, auf 3.x zu bleiben, die iPad-Kompatibilität.
Sie sollten auch überlegen, wie Ihre Verkäufe in den nächsten sechs Monaten aussehen sollen. Was kostet es, die neuesten Funktionen nicht zu verwenden? Werden Sie in der Lage sein, die Entwicklungszeit zu verkürzen oder mit 4.0 neue Features hinzuzufügen? Kann die konkurrierende App 4.0-Funktionen nutzen, um einen Vorteil zu erzielen? Die Werbung als 4.0-only könnte sich positiv auf die Wahrnehmung der App auswirken.
Dort wird ein bestimmter Prozentsatz von Personen sein, die Ihre Anwendung nicht ausführen können, weil Sie 4.0 verwenden. Der Trick besteht darin, herauszufinden, ob dieser Umsatzverlust größer oder kleiner ist als die Gewinne, die man durch das Zurücklassen von Gewinnen erzielt.
Je mehr Käufer Sie erwarten, desto lohnender ist es, sie alle Ihre Anwendung ausführen zu lassen. Sind die Käufer wahrscheinlich auch Menschen mit Computer-Know-how? Wenn dies der Fall ist, ist es sogar noch weniger wahrscheinlich, dass sie auf 3.x bleiben.
Beachten Sie auch, dass iPhone 3G-Telefone iOS4 nicht unterstützt.
Noch eine Ergänzung:
Apple beginnt bereits, 2.0 Apps aus dem AppStore auszuschließen, siehe Ссылка
Ja, IMO ist es absolut sinnvoll, die neuen Funktionen von OS 4.0 zu nutzen. Benutzer, die 4.0 installiert haben, werden wenig Toleranz für Apps haben, die kein schnelles App-Switching unterstützen (und auch nicht das Display mit der höheren Auflösung des iPhone 4).
Mein wichtigstes Anliegen ist, dass die Verwendung der 4.0-Funktionen es den Endbenutzern auch erlaubt, ihre Telefone / iPods auf 4.0 zu aktualisieren.
Das ist nicht wahr. Um die neuen Funktionen zu unterstützen, müssen Sie die Unterstützung für ältere Betriebssystemversionen nicht löschen. Setzen Sie das Base SDK auf 4.0 und das Deployment Target auf 3.x. Und stellen Sie sicher, dass Ihr Code keine 4.0-spezifischen Methoden aufruft, ohne zu prüfen, ob sie existieren ( respondsToSelector:
).
progmr hat bereits eine sehr gute Antwort gegeben; Eine Sache, die es wert ist, hinzugefügt zu werden, sind einige harte Daten:
ie. 50% der iphone-Nutzer (die ab Juli 2010 Apps mit darin enthaltenen Anzeigen installieren und verwenden) führen immer noch Versionen vor 4.0 aus.