Renseignement sur target et compatibilité iOS 5 et 6

Bonjour , je viens de réaliser ma première application , il s agit d'un casse brique .

J'ai incorporé le game center dans mon projet , je souhaite que mon appli fonctionne sous iOS 5 et 6,



J ai bien essayé les différentes méthodes selon l'ios utilisé pour tester l appli sur des téléphones ,

je modifie le texte de mon code avant Chaque transfère selon iOS (pour ne pas avoir de drapeau jaunes)

Comment cela ce passe ? Dois je créez plusieur target ? Ou toutes les méthodes sont dans le même programme ?

Réponses

  • CéroceCéroce Membre, Modérateur
    janvier 2013 modifié #2
    Je ne comprends pas grand chose à  ton message.



    Les drapeaux jaunes, on appelle ça des Warnings. Quels sont ces warnings ?



    Tu veux que ton appli fonctionne sous iOS 5 et iOS 6. Il faut donc que tu choisisses iOS 5 comme "Deployment target".

    Pour le SDK, utilises-tu des fonctionnalités spécifiques à  iOS 6? Si ce n'est pas le cas, mets le "Base SDK" à  iOS 5.
  • Ce sont donc des warnings indiquant des deprecated , quand je teste mon appli en deployment target iOS 6.0 . ( due au methose game center )



    J'utilise juste des fonctionnalitées IOS 6.0 quand je veux tester mon appli sur mon iPhone en iOS 6.0, je pensais que le deployment target devait être identique à  l iOS installé .
  • AliGatorAliGator Membre, Modérateur
    Je t'invite fortement à  lire cette doc Apple, tout y est décrit concernant la façon dont on doit gérer le code quand on veut utiliser des méthodes uniquement disponibles depuis un certain iOS mais que notre application doit pouvoir quand même fonctionner sur des iOS de version précédente.



    En gros, le "Deployment Target" indique la version minimum sur laquelle ton application va pouvoir tourner. Dans ton cas iOS5.

    Quant à  la version du SDK, tu devrais toujours utiliser la dernière (à  ce jour SDK iOS 6), et ce SDK te fournit toutes les méthodes disponibles pour cette version d'iOS6 mais également les précédentes.



    (chaque méthode est annotée dans les headers grâce à  des __attribute__ etc pour indiquer sa disponibilité selon l'OS de sorte que si tu utilises une méthode iOS4 déprecated depuis alors que tu es en iOS5 minimum sur ton Deployment Target, il va te mettre un warning, etc)



    Tout est décrit en détail dans la doc Apple cité plus haut de toute façon, expliquant les concepts, les façons de faire, etc... je ne ferai pas mieux en explication que cette doc !
  • KepouickKepouick Membre
    janvier 2013 modifié #5
    Merci pour le lien je regarde ça de suite, j ai essayé avec un deployment target iOS 5.0 sur mon tel en ios6.0 et ça fonctionne, je n avais pas vraiment compris ceci.

    Pkoi faire simple quant on peux ce creuser les méninges !



    Pour le moment je retourne m informer
  • Un petit déterrage de post... où j'ai obtenu une partie des informations dont j'ai besoin.


     


    Je viens de commencer une nouvelle application, et je souhaiterais qu'elle soit aussi utilisable sur iPad1, donc iOS5. A priori, je ne devrais pas avoir besoin d'API très nouvelle donc, cela devrait coller.


     


    J'ai donc mis le iOS Deployment target  à  iOS5.1. Et lorsque j'essaie d'installer l'application sur mon iPad1, j'ai un message d'insulte :


     


     



    The run destination iPad1 is not valid for Running the scheme 'XXXX'. 


    The scheme 'XXXX' contains no buildables that can be built for the SDKs supported by the run destination iPad1. Make sure your targets all specify SDKs that are supported by this version of Xcode.


     



     


     


    En lisant ce post, il semblerait qu'il faille changer le SDK deployment target... je tourne en rond  B)


     


    Une petite piste ? Merci d'avance  o:)


     


  • CéroceCéroce Membre, Modérateur
    Quel est le Base SDK ?
    Pour quelles architectures buildes-tu ?
  • Joanna CarterJoanna Carter Membre, Modérateur

    Je crois que j'ai lu (je ne peux pas me souvenir où) que Apple n'accepte pas les nouveaux apps en-dessous de iOS 7.




  • Quel est le Base SDK ?

    Pour quelles architectures buildes-tu ?




     


    Latest iOS pour la base SDK (7.1)


    armv7, armv7s et arm64 pour les architectures...


     




    Je crois que j'ai lu (je ne peux pas me souvenir où) que Apple n'accepte pas les nouveaux apps en-dessous de iOS 7.




     


    Tu veux dire les nouveaux device que l'on ajoute en test ?


     


    Merci à  vous deux en tout cas.

  • CéroceCéroce Membre, Modérateur

    armv7, armv7s et arm64 pour les architectures...

    En fait, il y a un lien entre l'archi et le SDK de déploiement mini. Par exemple, si tu inclus arm64, il me semble qu'il te faut un SDK 7 minimum. Alors commence par virer arm64.
    Smy avait bien étudié la question... il l'expliquait en détail dans un de ses posts.
  • Ah OK je vais tester ça et rechercher le post de Smy.

    Merci Ceroce.
  • Bon, j'ai finalement réussi à  installer l'application sur mon vieil iPad, mais finalement, il y avait quelques features iOS6/iOS7 que j'utilisais sans m'en rendre compte... Je vais voir si la suppression de ces fonctionnalités est acceptable...


     


    Merci en tout cas !  


Connectez-vous ou Inscrivez-vous pour répondre.