/AutoUpdater

Primary LanguageObjective-C

{\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf100
{\fonttbl\f0\fswiss\fcharset77 Helvetica-Bold;\f1\fswiss\fcharset77 Helvetica;}
{\colortbl;\red255\green255\blue255;}
\vieww12000\viewh15840\viewkind0
\pard\tx960\tx1920\tx2880\tx3840\tx4800\tx5760\tx6720\tx7680\tx8640\tx9600\ql\qnatural

\f0\b\fs36 \cf0 AutoUpdater
\f1\b0\fs24 \
\
AutoUpdater is a small application intended to demonstrate the use of the NSURL loading classes, NSURLConnection and NSURLDownload, for WWDC 2005 Session 132, "Implementing Networking Using the Cocoa Classes".  \
\
The application does only one thing:  check for and download updated versions of itself.  It uses NSURLConnection to send a query to an HTTP server, that should respond with a URL to be downloaded, if there is an update available.  If there is, and if the user requests it, it then uses NSURLDownload to download and open the updated version (intended to be a .dmg).  \
\
A real-life application of this would need a number of extra steps, including policies for determining when to check for updates, policies for determining which versions should be updated on which systems, and improved handling of the updated version once downloaded.  Security note:  it is also necessary to have a mechanism in place for verifying the authenticity of the downloaded content before doing anything with it--preferably a digital signature of some sort.\
\
The AutoUpdater sample application as it stands will compile and run, but will not actually complete the download process without an HTTP server running and prepared to respond to its requests.  Setting up such a server is left as an exercise to the reader.}