IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Swift Discussion :

Conseils et suggestions afin de finaliser une application swift pour Mac.


Sujet :

Swift

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur multimédia
    Inscrit en
    Août 2017
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur multimédia
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Août 2017
    Messages : 6
    Points : 1
    Points
    1
    Par défaut Conseils et suggestions afin de finaliser une application swift pour Mac.
    Bonjour à tous,

    Voilà deux ans maintenant que je me suis lancé dans l'étude du langage de programmation swift. J'ai étudié javascript et les scripts shell par le passé mais la syntaxe des langages orienté-objet m'a toujours rebuté, jusqu'à ce qu'Apple annonce son intention d'y mettre sérieusement le doigt, voir la main toute entière. Bien sur rien n'est parfait, Interface Builder est un peu lourd et nécessite une certaine expérience, le code signing est déplorable, Apple ne fournit pas d'outils de formation à la portée de tous, et j'en passe. Ceci dit, à part ces quelques défauts, il est un fait que je n'ai jamais évoluer aussi vite et pris autant de plaisir à programmer que depuis que je me suis mis à programmer en swift.
    A tel point qu'aujourd'hui, après deux mois de travail intensif, me voilà sur le point de finaliser ma première application digne de ce nom.

    Il s'agit d'une application Mac permettant de compiler des extraits de différents rythmes orientaux (dix au total) et de jouer le résultat tout en suivant l'évolution des rythmes et des répétitions. Elle est destinée à faciliter leur apprentissage, à servir de base de cours aux professeurs de danse orientale ou à servir de base rythmique lors d'improvisations.

    Chaque rythme peut être répété seize fois.
    Huit variations de rythmes (pour un total de plus de deux heures de musique)
    Chaque variation comporte un réglage de tempo (de 90 à 140) ainsi que l'adjonction facultative d'une percussion supplémentaire (Riq).
    Tous les extraits audios utilisés sont au format 16bit/48 kHz, permettant une qualité optimale pour un espace d'utilisation raisonnable (l'application finale devrait peser 1GB).
    La lecture est rendue plus stable grâce à la compilation de l'ensemble en un fichier audio (facilement exportable).
    Les extraits musicaux utilisés dans chaque composition ont été finalisés par une machine à base de processeurs RISC.

    Il me reste encore du travail à effectuer au niveau des extraits musicaux mais toute la partie programmation est quasiment terminée.
    Je teste l'application depuis quelques jours sans rencontrer de problèmes, c'est encourageant!

    J'aimerai d'ici peu rendre cette application publique, et je voudrais que cela se fasse comme le reste, sans accros. J'aimerai donc savoir comment vérifier la robustesse de mon code, recevoir des avis et suggestions concernant l'ergonomie et la présentation de l'application, des conseils concernant la meilleur manière de la publier (appstore?, autre?) (sachant que je n'ai pas de compte développeur et que je compte distribuer la première version gratuitement).

    Merci de m'avoir lu jusqu'ici.
    Cordialement,
    Fredo
    Images attachées Images attachées  

  2. #2
    Membre à l'essai
    Homme Profil pro
    Developer mobile
    Inscrit en
    Août 2017
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Developer mobile
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2017
    Messages : 10
    Points : 13
    Points
    13
    Par défaut
    Bonjour Fredo,

    En ce qui concerne la publication de votre app sur l'appstore, il vous faudra obligatoirement un compte développeur même si vous la distribuez gratuitement. Il coute 99USD par an. Le setup est assez lourd. Il vous faudra créer des certificats de developpeur et distributeur, remplir des formulaires de taxes en anglais, et créer un bundle ID qui doivent correspondre à votre app. Une fois setup terminé, vous aurez la possibilité de mettre votre app en version Beta et de la distribuer à vos amis ou des testeurs. C'est un bon moyen d'avoir des retours et d'être sur que tout marche en condition réelle avant le lancement public.

    Vous dites que c'est une application Mac. Ne serait-il pas plus convenient de la faire sur iPhone/iPad? Pour être utilisable plus facilement dans les cours de danse et autres évènements? Peut etre que je n'ai pas bien saisi le fonctionement de votre app.

    Cordialement.
    Steven

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur multimédia
    Inscrit en
    Août 2017
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur multimédia
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Août 2017
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    Merci Steven pour ces informations bien utiles.
    J'ai entendu parler d'un appStore alternatif (clandestin?), est-ce une bonne idée?
    Si je décide de ne pas passer par l'appStore, comment faire tester mon application, avoir des retours? Je n'ai pas de page Facebook, pas des tonnes d'amis. Peut-être y aura-t-il ici des gens intéressés?

    Le problème en ce qui concerne une version iOS de l'application est que je ne suis pas arrivé à faire fonctionner le simulateur iOS sans un compte développeur (qui nécessite le paiement de 99 USD/an,...) sans quoi j'aurai peut-être privilégié cette solution. Je dis peut-être car les ressources nécessaires au niveau du cpu (lors de la compilation) sont telles qu'une version iOS risque d'être trop lente (à vérifier).

    Je me permets encore une question. Mon application est écrite sous Xcode 8.2.1 (swift 3.2) et je me demande qu'elle version minimale du système d'exploitation est nécessaire pour la faire fonctionner et comment être certain de cela sans la tester sur tout un tas de machines?

    Cordialement,
    Fredo

  4. #4
    Membre à l'essai
    Homme Profil pro
    Developer mobile
    Inscrit en
    Août 2017
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Developer mobile
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2017
    Messages : 10
    Points : 13
    Points
    13
    Par défaut
    Je pense que vous parlez du Cydia store. On y trouve de tout dessus mais il faut iPhone "jailbreaké" pour l'utiliser ce qui limite énormément votre audience et pas de mode Beta disponible.

    Vous devez avoir un compte développeur pour utiliser les simulateurs ou votre iPhone. Mais vous n'etes pas obligé de payer Il suffit d'enregistrer votre apple ID ici puis de sign in avec cet ID sur Xcode.

    Je ne suis pas habitué aux applications Mac. Je ne suis pas sur du minimum necessaire. Vous pouvez changer le "deployment target" dans Xcode dans l'onglet General. Si vous mettez 10.6 par exemple, Xcode vous dira si votre code est compatible ou non lorsque que vous lancez votre application.

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Juin 2017
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Chercheur en informatique

    Informations forums :
    Inscription : Juin 2017
    Messages : 17
    Points : 26
    Points
    26
    Par défaut
    Bonjour à tous les deux à toutes et à tous

    On n'est pas obligé de payer.
    Mais lorsque je crée une application pour ma tablette, sa durée de vie reste limitée.
    Est-ce que c’est le non-paiement qui impose cette contrainte ou une erreur de ma part ?
    D’autre part Xcode, accepte de créer dix applications nouvelles par semaine pas une de plus.

    Bravo Fredo pour la création de votre application.
    Merci Steven.

    Cordialement,
    coderEnSwift

  6. #6
    Membre à l'essai
    Homme Profil pro
    Developer mobile
    Inscrit en
    Août 2017
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Developer mobile
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2017
    Messages : 10
    Points : 13
    Points
    13
    Par défaut
    Vous avez raison, il y a une limite de 7 jours pour les comptes gratuits. Il y a peut etre un moyen de créer un nouveau profile pour passer outre cette limite.

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Juin 2017
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Chercheur en informatique

    Informations forums :
    Inscription : Juin 2017
    Messages : 17
    Points : 26
    Points
    26
    Par défaut
    Et pour la durée de vie limitée sur tablette, vous avez une idée ?

  8. #8
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur multimédia
    Inscrit en
    Août 2017
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur multimédia
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Août 2017
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    Merci pour toutes ces informations et pour les encouragements.

    Mais, je ne comprends pas très bien ce qu'est cette limitation de sept jours? Est-ce à dire que l'application n'est utilisable que pendant sept jours? Quoi qu'il en soit, je suis heureux de savoir que je vais pouvoir tester mon app sur iPhone, merci.
    A ce propos, quelqu'un pourrait-il me dire si le simulateur iOS peut être bridé afin de correspondre au cpu utilisé dans chaque machine ou si c'est toujours lié au cpu de la machine qui lance la simulation?
    Bon dimanche à tous!

  9. #9
    Nouveau membre du Club
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Juin 2017
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Chercheur en informatique

    Informations forums :
    Inscription : Juin 2017
    Messages : 17
    Points : 26
    Points
    26
    Par défaut
    Bonsoir

    La limitation ne concerne que le nombre d'applications que l'on veut créer. Dix par semaine.

    Vous pouvez utiliser votre application sur iPhone ou tablette pour une durée d'une quarantaine de jours environ.
    Après, il faut recharger l'application du mac vers la tablette. Mais il est possible que ce soit moi qui ne sait pas bien générer l'application.
    Pour le simulateur, il n'y a aucun problème aucune contrainte.
    Je ne sais pas si le simulateur est bridé en fonction de l'appareil utilisé.

    Pour finir créer une application iOS n'utilise pas toujours les mêmes bibliothèques que pour macOS.
    Il vous faudra probablement retoucher une partie de votre source.

    Cordialement
    coderEnSwift

  10. #10
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur multimédia
    Inscrit en
    Août 2017
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur multimédia
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Août 2017
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    "Vous pouvez utiliser votre application sur iPhone ou tablette pour une durée d'une quarantaine de jours environ."
    Je ne serai pas étonné que cette restriction soit due à une politique de leur part...

    Concernant la version iOS, je pense que la conversion sera assez simple parce que la majeure partie du code que j'utilise vient d'adaptation d'exemples pour iOS qui sont "automatiquement" corrigées par Xcode.
    Par contre, j'ai peur qu'elle soit trop lourde. Il ne faut qu'une seconde à mon Mac (2013) pour compiler 1m30s d'extraits musicaux mais cela peut monter à plus d'une minute si j'augmente fortement le nombre de répétitions et de rythmes. Je ne connais pas exactement les performances des puces A7, A8,... des iPhones mais je doute qu'elles soient à la hauteur. Par contre l'application permet d'exporter le résultat au format m4a et donc de jouer le fichier à partir d'un iPhone (et sans prendre autant de place). Il me reste quatre rythmes à inclure dans l'application avant de la terminer, je verrai bien à ce moment là.

    Une autre chose qui m'inquiète c'est le nombre de lignes de code. J'en suis à 7450 pour l'instant et je devrais atteindre plus de 15.000 lignes une fois terminé. Y a-t-il une limitation (iPhone ou Mac) du nombre total de lignes? Cela ne risque-t-il pas de ralentir l'iPhone?

    Encore une fois merci pour toutes ces précisions coderEnSwift (et les autres), j'espère pouvoir un jour vous rendre la pareil.
    En attendant, portez-vous bien.

  11. #11
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur multimédia
    Inscrit en
    Août 2017
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur multimédia
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Août 2017
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    Par ailleurs, je serai très intéressé de savoir ce que vous pensez du nom de l'application?
    J'aime le jeu de mot (balladeur-bailar (danser en espagnol)) mais hélas, à chaque fois que je le prononce, je pense à un homme politique Français qui n'est en rien lié au monde de la danse orientale. Je me dis qu'il serait préférable de trouver autre chose, mais j'ai du mal.
    Je serai aussi heureux de connaître votre avis concernant l'aspect de l'application, votre impression au premier coup d'oeil, ou au second.

    Cordialement.

  12. #12
    Membre à l'essai
    Homme Profil pro
    Developer mobile
    Inscrit en
    Août 2017
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Developer mobile
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2017
    Messages : 10
    Points : 13
    Points
    13
    Par défaut
    Malheureusement je ne trouve rien dans la documentation officielle sur ces 7 ou 40 jours

    Vous pouvez décrire un peu plus le fonctionnement de votre app? Je suis étonné que que cela nécessite autant le cpu.
    Si je comprends bien, vous avez 10 rythmes musicaux. Vous en choisissez au maximum 8 pour faire créer une playlist. Il y a aussi des reglages (tempo, percussion..).

    Pour le nom de l'app c'est vraiment votre choix. Le titre et sous titre de l'app sont utilisés comme mot-clés dans les recherches, donc j'utilise toujours le maximum de charactères disponible. Par exemple "Bailar - lecteur de rythmes orientaux"

  13. #13
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur multimédia
    Inscrit en
    Août 2017
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur multimédia
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Août 2017
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    Oui, c'est bien cela, vous avez tout compris.
    Ca peut paraître léger mais il y a un peu plus de quatre cents extraits musicaux, d'environ deux secondes chacun (quatre ou cinq variation par rythme, histoire de ne pas lasser trop vite l'oreille). Ajouter à cela seize répétitions possible par section, en exagérant, on peut atteindre trois heures de percussions (de quoi perdre quelques kilos).
    Ces extraits sont au format .aif et sont transformés au format .m4a lors de la compilation (afin d'être plus léger, mais au détriment de la vitesse d'exécution). J'utilise AVAssetExportSession afin de faire la compilation (qui est nourrit par un NSArray, lui même nourrit par un NSMutableArray). J'utilise AVAudioPlayer et AVAudioPlayerItem afin de jouer le résultat final. J'utilise des tones de NSURL et de INT, quelques Float, String?,Timer? et Double.
    Tout m'a l'air de bien fonctionner et je m'attendais à ce que se soit "lent" (en regard de la puissance de la machine) lors de la conversion, car c'est toujours le cas lorsqu'une machine encode un fichier multimedia compressé. Je suis certain que si le format de sortie était aussi .aif, le fichier résultant serait très vite encodé, (mais atteindrait des tailles ingérables). Je n'ai pas essayé d'encoder vers d'autres formats, peut-être y en a-t-il un autre qui est plus rapide, à tester, un jour prochain.

    Je reviens sur ma question concernant le nombre de ligne de code... Est-ce préoccupant? Avez-vous déjà eu des problèmes à cause d'une trop grande quantité de lignes? Je constate des ralentissement de l'interface Xcode qui sont de plus en plus gênant. Par exemple lorsque je fais un copier-coller de code en bas de AppDelegate, il lui faut dix secondes pour afficher le résultat (alors qu'en haut ce n'est pas le cas). Egalement des lenteurs lors du rafraichissement en mode Assistant Editor.

  14. #14
    Membre à l'essai
    Homme Profil pro
    Developer mobile
    Inscrit en
    Août 2017
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Developer mobile
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2017
    Messages : 10
    Points : 13
    Points
    13
    Par défaut
    Je n'ai jamais eu de problemes comme ca. Apple ne commente pas sur la qualité ou quantité de code tant qu'il n'y a pas de bug.

    Xcode peut etre lent au niveau du "build time" avec de grosse applications. Mais ca dépend beaucoup du Mac sur lequel vous travaillez. Essayez de casser votre code en plusieurs fichiers pour vos classes, interfaces, etc.

Discussions similaires

  1. Finaliser une application
    Par adertzil dans le forum Développement iOS
    Réponses: 0
    Dernier message: 02/05/2014, 10h34
  2. Executer une application Java pour mac sous windows
    Par M_Makia dans le forum Général Java
    Réponses: 6
    Dernier message: 22/10/2008, 19h42
  3. Réponses: 2
    Dernier message: 08/09/2007, 09h37
  4. Réponses: 1
    Dernier message: 16/10/2006, 12h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo