Faire pétiller ses applications avec Sparkle

mowglimowgli Membre
12:20 modifié dans Actualités #1
Bonjour à  tous,

je viens de mettre à  disposition un petit tutoriel concernant la mise en place de Sparkle sur mon blog...

Bonne lecture à  tous !

Réponses

  • MackMack Membre
    juin 2007 modifié #2
    Excellente application a tester 
  • VeillardVeillard Membre
    12:20 modifié #3
    Bienvenue Mowgli et excellente idée pour ton tuto. Je l'ai essayé, ça fonctionne jusqu'au moment où l'archive se décompacte et puis j'ai deux messages d'erreur :

    Une erreur est survenue pendant l'installation. Veuillez réessayer plus tard.


    et...

    Corail n'a pas la permission d'écrire dans le dossier de l'application ! Avez-vous lancé l'application depuis une image disque ? Si ce n'est pas le cas, contactez votre administrateur.


    Puis l'appli plante et se retrouve dans la corbeille... Pourtant j'ai tout vérifié et apparemment tout à  l'air OK.

    A suivre...
  • hdexhdex Membre
    12:20 modifié #4
    Je me joins un peu tardivement à  la discussion pour signaler une petite astuce.

    J'ai intégré Sparkle dans mon appli <publicite> VoIP Tracker Lite </publicite> mais je cherchais un moyen simple de creer le fichier xml pour l'appcast.

    Et puis j'ai trouvé, il suffit de publier son appli sur iusethis.com.
    Une fois publie, on recupere le fichier en faisant dans le Terminal :
    curl http://osx.iusethis.com/appcast/monappli &gt; monappli.xml
    


    Et voila, c'est fini.

    PS : bienvenu mowgli  :adios!:
  • 12:20 modifié #5
    Je un problème avec la mise à  jour automatique.....quand je clique sur "chercher les mise à  jour"
    il m'affiche ça :



    [Fichier joint supprimé par l'administrateur]
  • hdexhdex Membre
    12:20 modifié #6
    jpf74 :
    Deux fois j'ai eu cette erreur dans les cas suivant
    1 - mon fichier xml pour l'appcast etait vide ou mal formatte
    2 - l'URL de mon appcast etait incorrecte (dans info.plist SUFeedURL)

    Pour info, il y a un podcast sur Sparkle pour ceux qui veulent plus de details http://www.cocoacast.com/?q=node/138
  • 12:20 modifié #7
    merci  :adios!:  je vais regarder cela demain
  • 12:20 modifié #8
    j'ai bien réussi à  ecrire un fichier .xml et le mettre sur mon site, le logiciel de mise à  jour le voit mais quand je fais "vérifier les mises à  jours", il me dit que ma version est la dernière alors que ce n'est pas vrai..... :(

    Je peux avoir un exemple de fichier .xml avec des explications sur comment indiquer au logiciel que c'est une nouvelle version.....

    merci
  • orfaitorfait Membre
    12:20 modifié #9
    Alors si j'ai tout bien compris (je viens tout juste d'essayer Sparkle) :

    Pour le fichier Tonappli.xml :
    &lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;<br />&lt;rss xmlns:sparkle=&quot;http://www.andymatuschak.org/xml-namespaces/sparkle&quot; version=&quot;2.0&quot;&gt;<br />&nbsp; &lt;channel&gt;<br />&nbsp; &nbsp; &lt;title&gt;TonAppli - Changelog&lt;/title&gt;<br />&nbsp; &nbsp; &lt;link&gt;http://www.domaine.fr/cheminverstonfichier/Tonappli.xml&lt;/link&gt;<br />&nbsp; &nbsp; &lt;description&gt;Changements dans TonAppli&lt;/description&gt;<br />&nbsp; &nbsp; &lt;language&gt;fr&lt;/language&gt;<br />&nbsp; &nbsp; &lt;pubDate&gt;Tue, 18 Sep 2007 11:48:10 +0200&lt;/pubDate&gt;<br />&nbsp; &nbsp; &lt;lastBuildDate&gt;Tue, 18 Sep 2007 11:48:10 +0200&lt;/lastBuildDate&gt;<br />&nbsp; &nbsp; &lt;item&gt;<br />&nbsp; &nbsp; &nbsp; &lt;title&gt;TonApppli 0.2&lt;/title&gt;<br />&nbsp; &nbsp; &nbsp; &lt;description&gt;http://www.domaine.fr/cheminverstonfichier/rnotes.html&lt;/description&gt;<br />&nbsp; &nbsp; &nbsp; &lt;pubDate&gt;Tue, 18 Sep 2007 11:47:55 +0200&lt;/pubDate&gt;<br />&nbsp; &nbsp; &nbsp; &lt;enclosure url=&quot;http://www.domaine.fr/cheminverstonfichier/TonAppli_0.2.zip&quot; length=&quot;2301785&quot; type=&quot;application/zip&quot; sparkle:version=&quot;0.2&quot;/&gt;<br />&nbsp; &nbsp; &lt;/item&gt;<br />&nbsp; &lt;/channel&gt;<br />&lt;/rss&gt;
    

    Perso, je rajoute bien le sparkle:version="0.2" pour être sûr qu'il n'y a pas de confusion quelconque.
    Pour lenght, tu fais un Pomme - i et tu recopies la taille en octets.

    (N'oublie pas de bien mettre une version inférieur dans le info.plist)


    voilou, si tu n'y arrives toujours pas, donne des liens vers tes fichiers pour qu'on puisse regarder.
  • 12:20 modifié #10
    Merci !!! mon problème était que dans info.plist, il y a 2 façons de nommée sa version, j'ai supprimé la 2eme nomination est c'est bon !!!!
  • septembre 2007 modifié #11
    le problème maintenant c'est qu'il me dit à  chaque ouverture qu'il y a une nouvelle version..... :(

    ifreetv : http://idsmac.free.fr/iDsMac/iFreeTV.html

    Mon fichier .xml :

  • orfaitorfait Membre
    septembre 2007 modifié #12
    Normalement, l'application sur ton site oueb doit avoir le même numéro que dans le xml (0.5.1) et hop, ca roule normalement.

    Je vais tester ton appli pour voir

    EDIT :

    Remplace dans ton fichier info.plist :
    &lt;key&gt;CFBundleShortVersionString&lt;/key&gt;<br />	&lt;string&gt;0.5.1&lt;/string&gt;<br />	&lt;key&gt;CFBundleSignature&lt;/key&gt;<br />	&lt;string&gt;????&lt;/string&gt;<br />	&lt;key&gt;CFBundleVersion&lt;/key&gt;<br />	&lt;string&gt;&lt;/string&gt;
    


    par :
    &lt;key&gt;CFBundleSignature&lt;/key&gt;<br />	&lt;string&gt;????&lt;/string&gt;<br />	&lt;key&gt;CFBundleVersion&lt;/key&gt;<br />	&lt;string&gt;0.5.1&lt;/string&gt;
    


    Je crois que tu n'as pas besoin de davantage...
    Enfin, c'est la solution du débutant que je suis.
  • 12:20 modifié #13
    merci  :adios!: ça marche nikel !!!, l'application sera sur le site sous très peut de temps !!!
  • Philippe49Philippe49 Membre
    octobre 2007 modifié #14
    Bon, ben j'ai des problèmes

    Voici mon appcast :
    <br />&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;<br />&lt;rss version=&quot;2.0&quot;<br />	xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot;<br />	xmlns:sparkle=&quot;http://www.andymatuschak.org/xml-namespaces/sparkle&quot;&gt;<br />	&lt;channel&gt;<br />		&lt;title&gt;TestSparkle Changelog&lt;/title&gt;<br />		&lt;link&gt;http://web.mac.com/philippe.robinet/iWeb/Application/TestSparkle_files/TestSparkle.xml&lt;/link&gt;<br />		&lt;description&gt;Changements dans TestSparkle et lien pour update&lt;/description&gt;<br />		&lt;language&gt; fr&lt;/francais&gt;<br />		&lt;item&gt;<br />			&lt;title&gt; Version 2.0 (2 bugs corrigés; 3 nouveautés)&lt;/title&gt;<br />			&lt;description&gt;http://web.mac.com/philippe.robinet/iWeb/Application/TestSparkle.html&lt;/description&gt;<br />			&lt;pubDate&gt;Sun, 28 Oct 2007 08:00:00 +0000&lt;/pubDate&gt;<br />			&lt;enclosure url=&quot;http://web.mac.com/philippe.robinet/iWeb/Application/TestSparkle_files/TestSparkle_2.0.zip&quot;<br />					length=&quot;577713&quot;<br />					type=&quot;application/zip&quot;<br />					sparkle:version=&quot;0.2&quot;/&gt;<br />		&lt;/item&gt;<br />	&lt;/channel&gt;<br />&lt;/rss&gt;<br />
    


    J'avais essayé aussi type="application/octet-stream" comme indiqué par Andy Matuschak

    et voici mon fichier .plist
    <br />&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;<br />&lt;!DOCTYPE plist PUBLIC &quot;-//Apple//DTD PLIST 1.0//EN&quot; &quot;http://www.apple.com/DTDs/PropertyList-1.0.dtd&quot;&gt;<br />&lt;plist version=&quot;1.0&quot;&gt;<br />&lt;dict&gt;<br />	&lt;key&gt;CFBundleDevelopmentRegion&lt;/key&gt;<br />	&lt;string&gt;English&lt;/string&gt;<br />	&lt;key&gt;CFBundleExecutable&lt;/key&gt;<br />	&lt;string&gt;${EXECUTABLE_NAME}&lt;/string&gt;<br />	&lt;key&gt;CFBundleIconFile&lt;/key&gt;<br />	&lt;string&gt;&lt;/string&gt;<br />	&lt;key&gt;CFBundleIdentifier&lt;/key&gt;<br />	&lt;string&gt;com.yourcompany.TestSparkle&lt;/string&gt;<br />	&lt;key&gt;CFBundleInfoDictionaryVersion&lt;/key&gt;<br />	&lt;string&gt;6.0&lt;/string&gt;<br />	&lt;key&gt;CFBundleName&lt;/key&gt;<br />	&lt;string&gt;${PRODUCT_NAME}&lt;/string&gt;<br />	&lt;key&gt;CFBundlePackageType&lt;/key&gt;<br />	&lt;string&gt;APPL&lt;/string&gt;<br />	&lt;key&gt;CFBundleSignature&lt;/key&gt;<br />	&lt;string&gt;????&lt;/string&gt;<br />	&lt;key&gt;CFBundleVersion&lt;/key&gt;<br />	&lt;string&gt;2.0&lt;/string&gt;<br />	&lt;key&gt;NSMainNibFile&lt;/key&gt;<br />	&lt;string&gt;MainMenu&lt;/string&gt;<br />	&lt;key&gt;NSPrincipalClass&lt;/key&gt;<br />	&lt;string&gt;NSApplication&lt;/string&gt;<br />	&lt;key&gt;SUFeedURL&lt;/key&gt;<br />	&lt;string&gt;http://web.mac.com/philippe.robinet/iWeb/Application/TestSparkle_files/TestSparkle.xml&lt;/string&gt;<br />&lt;/dict&gt;<br />&lt;/plist&gt;<br />
    


    J'ai bien placé mon fichier .xml conformément à  l'URL

    remarque :
    Safari refuse de me lire le .xml en tapant cette adresse
    http://web.mac.com/philippe.robinet/iWeb/Application/TestSparkle_files/TestSparkle.xml

    message de Safari :
    Safari ne parvient pas à  ouvrir la page.
    Safari ne parvient pas à  ouvrir la page " feed://web.mac.com/philippe.robinet/iWeb/Application/TestSparkle_files/TestSparkle.xml ". L'erreur rencontrée est : " Le flux n'a pas pu être chargé car son contenu n'est pas dans un format de flux connu. " (PubSub:2) Veuillez choisir " Signaler un bogue à  Apple " dans le menu Safari, indiquer le numéro de l'erreur, puis décrire ce que vous faisiez lorsque ce message est apparu.




  • AliGatorAliGator Membre, Modérateur
    12:20 modifié #15
    Pense à  vérifier la validité de ton document XML, quel qu'il soit, que ce soit un XML de flux RSS ou de tout autre type, il faut déjà  qu'il soit valide (conforme à  la DTD) et surtout avant ça, qu'il soit au moins bien-formé, c'est à  dire que les balises soient cohérentes.

    Par exemple je vois comme ça déjà  que ton fichier XML (ton appcast donc) contient cette ligne :[tt]<language> fr</francais>[/tt] qui n'a pas vraiment de sens et en tout cas rend ton XML invalide.

    Sinon il existe de multiples outils pour vérifier qu'un XML est bien-formé. En général déjà  un bon éditeur de texte sachant gérer le XML (coloration syntaxique et validation, justement) sait déjà  le faire. Sinon il existe des outils en ligne, il suffit de demander à  Google qui te donnera de bonnes adresses pour ça.


    Mais bon à  l'heure où j'écris ces lignes apparament tu as corrigé le problème puisque ton flux a l'air maintenant correct, Safari sachant l'ouvrir chez moi.
  • Philippe49Philippe49 Membre
    12:20 modifié #16
    Merci Aligator, c'était ce problème de balise qui coinçait.
  • Philippe49Philippe49 Membre
    12:20 modifié #17
    Encore des problèmes.
    TestSparkle ne reconnaà®t pas qu'il y a une nouvelle version disponible. Je suis pourtant en conformité avec ce qu'on dit jpf74 et orfait un peu plus haut dans la discussion, et le flux rss semble fonctionner correctement.

    l'appcast
    &lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;<br />&lt;rss version=&quot;2.0&quot;<br />	xmlns:sparkle=&quot;http://www.andymatuschak.org/xml-namespaces/sparkle&quot;&gt;<br />	&lt;channel&gt;<br />		&lt;title&gt;TestSparkle Changelog&lt;/title&gt;<br />		&lt;link&gt;http://web.mac.com/philippe.robinet/iWeb/Application/TestSparkle_files/TestSparkle.xml&lt;/link&gt;<br />		&lt;description&gt;Changements dans TestSparkle et lien pour update&lt;/description&gt;<br />		&lt;language&gt; fr&lt;/language&gt;<br />		&lt;item&gt;<br />			&lt;title&gt; Version 3.0 (2 bugs corrigés; 3 nouveautés)&lt;/title&gt;<br />			&lt;description&gt;http://web.mac.com/philippe.robinet/iWeb/Application/TestSparkle.html&lt;/description&gt;<br />			&lt;pubDate&gt;Mon, 29 Oct 2007 10:20:00 +0000&lt;/pubDate&gt;<br />			&lt;enclosure url=&quot;http://web.mac.com/philippe.robinet/iWeb/Application/TestSparkle_files/TestSparkle_3.0.zip&quot;<br />					length=&quot;578983&quot;<br />					type=&quot;application/zip&quot;<br />					sparkle:version=&quot;0.2&quot;/&gt;<br />		&lt;/item&gt;<br />	&lt;/channel&gt;<br />&lt;/rss&gt;
    


    le .plist
    <br />&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;<br />&lt;!DOCTYPE plist PUBLIC &quot;-//Apple//DTD PLIST 1.0//EN&quot; &quot;http://www.apple.com/DTDs/PropertyList-1.0.dtd&quot;&gt;<br />&lt;plist version=&quot;1.0&quot;&gt;<br />&lt;dict&gt;<br />	&lt;key&gt;CFBundleDevelopmentRegion&lt;/key&gt;<br />	&lt;string&gt;English&lt;/string&gt;<br />	&lt;key&gt;CFBundleExecutable&lt;/key&gt;<br />	&lt;string&gt;${EXECUTABLE_NAME}&lt;/string&gt;<br />	&lt;key&gt;CFBundleIconFile&lt;/key&gt;<br />	&lt;string&gt;&lt;/string&gt;<br />	&lt;key&gt;CFBundleIdentifier&lt;/key&gt;<br />	&lt;string&gt;com.yourcompany.TestSparkle&lt;/string&gt;<br />	&lt;key&gt;CFBundleInfoDictionaryVersion&lt;/key&gt;<br />	&lt;string&gt;6.0&lt;/string&gt;<br />	&lt;key&gt;CFBundleName&lt;/key&gt;<br />	&lt;string&gt;${PRODUCT_NAME}&lt;/string&gt;<br />	&lt;key&gt;CFBundlePackageType&lt;/key&gt;<br />	&lt;string&gt;APPL&lt;/string&gt;<br />	&lt;key&gt;CFBundleSignature&lt;/key&gt;<br />	&lt;string&gt;????&lt;/string&gt;<br />	&lt;key&gt;CFBundleVersion&lt;/key&gt;<br />	&lt;string&gt;3.0&lt;/string&gt;<br />	&lt;key&gt;NSMainNibFile&lt;/key&gt;<br />	&lt;string&gt;MainMenu&lt;/string&gt;<br />	&lt;key&gt;NSPrincipalClass&lt;/key&gt;<br />	&lt;string&gt;NSApplication&lt;/string&gt;<br />	&lt;key&gt;SUFeedURL&lt;/key&gt;<br />	&lt;string&gt;http://web.mac.com/philippe.robinet/iWeb/Application/TestSparkle_files/TestSparkle.xml&lt;/string&gt;<br />&nbsp; &lt;/dict&gt;<br />&lt;/plist&gt;<br />
    


  • Philippe49Philippe49 Membre
    12:20 modifié #18
    dans 1193612588:

    Sinon il existe de multiples outils pour vérifier qu'un XML est bien-formé. En général déjà  un bon éditeur de texte sachant gérer le XML (coloration syntaxique et validation, justement) sait déjà  le faire.


    XCode ou Dashcode par exemple .......
  • orfaitorfait Membre
    12:20 modifié #19
    &lt;key&gt;CFBundleVersion&lt;/key&gt;<br />	&lt;string&gt;3.0&lt;/string&gt;
    


    Et version 3.0 aussi dans le fichier XML. Donc pas de mise à  jour. C'est logique.
    Essaie de mettre dans le plist de l'appli en local :
    &lt;key&gt;CFBundleVersion&lt;/key&gt;<br />	&lt;string&gt;2.0&lt;/string&gt;
    
  • Philippe49Philippe49 Membre
    12:20 modifié #20
    dans 1193659878:

    &lt;key&gt;CFBundleVersion&lt;/key&gt;<br />	&lt;string&gt;3.0&lt;/string&gt;
    


    Et version 3.0 aussi dans le fichier XML. Donc pas de mise à  jour. C'est logique.
    Essaie de mettre dans le plist de l'appli en local :
    &lt;key&gt;CFBundleVersion&lt;/key&gt;<br />	&lt;string&gt;2.0&lt;/string&gt;
    



    Le test que j'ai fait est avec la version 2.0 dont le fichier .plist est comme tu l'indiques
            <key>CFBundleVersion</key>
            <string>2.0</string>

  • orfaitorfait Membre
    12:20 modifié #21
    Hum... je n'avais pas fait attention à  ça :
    sparkle:version=&quot;0.2&quot;/&gt;
    

    Mets voir plutôt :
    sparkle:version=&quot;3.0&quot;/&gt;
    


  • Philippe49Philippe49 Membre
    12:20 modifié #22
    Ok, merci, c'est cela

    J'avais compris que que cet attribut sparkle:version="0.2" se rapportait à  une version de sparkle, et non de l'appli elle-même.

    Mais l'attribut dans
    <rss version="2.0" xmlns:sparkle="http://www.andymatuschak.org/xml-namespaces/sparkle">;
    lui se rapporte bien au flux et n'a pas à  être modifié ?
  • orfaitorfait Membre
    12:20 modifié #23
    Exactement !  ;)
  • clampinclampin Membre
    12:20 modifié #24
    Héhé, c'est génial Sparkle .... merci pour l'info.... :D
Connectez-vous ou Inscrivez-vous pour répondre.