public NetworkUrlSession(string identifier) { _transfers = new List<NetworkUrlSessionTransfer> (10); _urlSessionDelegate = new NetworkUrlSessionDelegate (this); NSUrlSessionConfiguration c = NSUrlSessionConfiguration.CreateBackgroundSessionConfiguration (identifier); NSOperationQueue q = new NSOperationQueue (); // only allow 1 file transfer at a time; SAMCTODO: not sure if this is best.. q.MaxConcurrentOperationCount = 1; _urlSession = NSUrlSession.FromConfiguration (c, _urlSessionDelegate, q); _urlSession.GetTasks( HandleNSUrlSessionPendingTasks ); IBackgroundUrlEventDispatcher appDelegate = UIApplication.SharedApplication.Delegate as IBackgroundUrlEventDispatcher; appDelegate.HandleEventsForBackgroundUrlEvent += HandleEventsForBackgroundUrl; }