2010-09-07 7 views
0

Je souhaite mettre à jour mon application pour utiliser la fonctionnalité multitâche et les notifications locales disponibles dans OS4. Ma question est, si je mets à jour mon application et la rends seulement disponible pour OS4 et ci-dessus cela signifie-t-il que si quelqu'un exécute OS3 sur leur téléphone ils n'obtiendront pas la mise à jour? ou ils recevront un avertissement qu'ils ont besoin de mettre à jour leur système d'exploitation? Ce que je ne veux pas arriver, c'est pour eux de mettre à jour leur application pour le trouver ne fonctionne plus? Si la situation finale est ce qui va arriver, comment puis-je écrire le code pour savoir quel système d'exploitation est utilisé?Mise à jour de l'application iPhone de OS3 à OS4

Merci

Répondre

0

Si vous mettez à jour votre application soit 4.0 uniquement, et marquer également votre application comme 4.0 uniquement dans le magasin, alors les gens vont même pas voir votre mise à jour.

1

S'ils essaient de mettre à jour sur le périphérique, ils ne verront même pas une mise à jour qui ne fonctionne pas sous leur version du système d'exploitation.

Toutefois, si un client précédent met à jour ses applications en utilisant iTunes sur son Mac ou son PC, iTunes peut lui montrer toute nouvelle mise à jour. Si elles téléchargent cela, iTunes va souffler sa copie qui est compatible avec leur combinaison actuelle d'appareil/système d'exploitation. La nouvelle copie ne doit pas écraser celle qui fonctionne sur leur appareil. Mais si l'utilisateur a besoin de faire une restauration, ou supprime l'application et veut la réinstaller, ils n'ont probablement pas de chance à moins qu'ils aient de bonnes sauvegardes et sachent comment les utiliser.

0

Vous pouvez avoir le meilleur des deux mondes en concevant l'application pour utiliser les fonctionnalités spécifiques à 4.0 uniquement sur les périphériques 4.0. Liez faiblement les frameworks 4.0 seulement, et dans votre code utilisez [object respondsToSelector:@selector(thisOnlyWorksInOS4:)] pour tester les fonctionnalités 4.0 avant de les utiliser (ou, dans le cas du multitâche, utilisez la propriété multitaskingSupported de , car tous les périphériques 4.0 ne prennent pas en charge le multitâche). En variante, fournit également une propriété systemVersion.

Cet article de blog explique assez bien ces techniques, y compris les frameworks de liaison faible: http://blog.federicomestrone.com/2010/07/18/base-sdk-deployment-target-weak-linking-and-import/