Attualmente sto creando un'app per iOS Edicola. Ho dei problemi aggiunti e funzionano come voglio io. Tuttavia, quando provo ad andare a scaricare il loro file remoto, non sembra funzionare. Nessuno dei metodi delegati viene chiamato e nessun file viene scritto.NKAssetDownload Download Issues
Questo è quello che ho per certo:
- Un UITableViewController che è un NSURLConnectionDownloadDelegate.
- UIBackgroundModes (nel file info.plist) ha 'edicola-content' aggiunto
- # import è nell'intestazione della mia UITableViewController
- metodi di NSURLConnectionDownloadDelegate sono implementati
Il seguente codice accade quando il l'utente accetta di scaricare il problema (Nota: il problema non è nullo):
// Download the Issue!
NSLog(@"Starting Download of issue %@",issue.name);
// Generate the url of the issue
NSURL * downloadURL = [dataManager pdfURLForIssue:issue];
// Create the request
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:downloadURL
cachePolicy:NSURLRequestReloadIgnoringLocalAndRemoteCacheData
timeoutInterval:30.0];
// Create the NKAssetDownload object
NKAssetDownload *assetDownload = [issue addAssetWithRequest:request];
// Set user info so I know which issue's UIProgressView to update
[assetDownload setUserInfo:[NSDictionary dictionaryWithObjectsAndKeys:issue.name,@"Name",
nil]];
// start download
[assetDownload downloadWithDelegate:self];
Non ho idea di cosa sta succedendo. Da tutto quello che ho letto, sembra che abbia implementato tutto correttamente; tuttavia, non sta accadendo nulla. Ho impostato punti di interruzione, NSlog e così via; ma niente. Ho persino lasciato correre per un po ', poi ho controllato il [contentURL] del problema che il file sarebbe stato spostato (nella mia connessioneDidFinishDownloading: destinationURL: metodo).
Qualcuno può aiutare? O forse qualche idea per me? Sono stato bloccato per giorni. Se hai bisogno di vedere più codice, fammelo sapere. Grazie!
Stai chiamando questo metodo da un thread in background o una coda GCD globale? –
Non che io sappia. Per prima cosa visualizzo un UIAlertView e se il pulsante "Download" viene toccato, viene chiamato il codice sopra. Più specificamente, viene eseguito nel metodo "alertView: clickedButtonAtIndex:". – Johnny
Quello non sarebbe di default allo sfondo, vero? – Johnny