Je porte un programme que j'ai écrit sur C# à Cocoa et j'essaie de comprendre comment utiliser XML pour aller en ligne sur mon site web, récupérer le fichier et l'analyser, puis comparer la version boîte de message pour demander si vous voulez ouvrir votre navigateur à la page de mise à jour.Mise à jour Check in Objective-C? Venant de C#
Voici le code de C#:
public void CheckVersion()
{
Version newVersion = null;
string url = "";
string newfeatures = "";
try
{
string xmlURL = "http://myurl.com/version.xml";
XmlRead = new XmlTextReader(xmlURL);
XmlRead.MoveToContent();
string elementName = "";
if ((XmlRead.NodeType == XmlNodeType.Element) &&
(XmlRead.Name == "myProgram"))
{
while (XmlRead.Read())
{
if (XmlRead.NodeType == XmlNodeType.Element)
elementName = XmlRead.Name;
else
{
if ((XmlRead.NodeType == XmlNodeType.Text) &&
(XmlRead.HasValue))
{
switch (elementName)
{
case "version":
newVersion = new Version(XmlRead.Value);
break;
case "url":
url = XmlRead.Value;
break;
case "newfeatures":
newfeatures = XmlRead.Value;
break;
}
}
}
}
}
}
catch (Exception)
{
MessageBox.Show("Could not connect to update checking server.");
}
finally
{
if (XmlRead != null) XmlRead.Close();
}
Version curVersion = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version;
if (curVersion.CompareTo(newVersion) < 0)
{
string title = "New Version Online";
string question = "Download new version? \nmyProgram Version: " + newVersion.ToString();
if (DialogResult.Yes ==
MessageBox.Show(this, question + "\n\n" + newfeatures, title,
MessageBoxButtons.YesNo,
MessageBoxIcon.Question))
{
System.Diagnostics.Process.Start(url);
}
}
}
Je suis assez nouveau pour le cacao et la plupart de ce code C# était un extrait alors des conseils ou de l'aide serait génial.
Merci
Si votre déploiement sur OSX, alors vous devriez simplement utiliser Sparkle - http://sparkle.andymatuschak.org/ –
Merci pour la réponse, j'ai réfléchi à ce sujet, mais honnêtement, je pense que c'est trop pour un simple application, cette application est très petite et je ne veux pas doubler ou tripler sa taille pour ajouter un cadre de vérification de mise à jour – Hector204
Hector204: Sparkle est assez petit. Plus de la moitié de sa taille sont les ressources de l'interface utilisateur dans la douzaine de langues qui l'accompagnent. Donc, c'est le même vérificateur de mise à jour que vous écririez, mais un peu plus puissant, déjà écrit, déjà (principalement) débogué, et déjà traduit dans une douzaine de langues. Si vous préférez avoir un demi-Mo de mémoire, supprimez simplement les langues que vous ne supportez pas. –