NKAssetDownload Проблемы с загрузкой - PullRequest
5 голосов
/ 10 января 2012

В настоящее время я создаю приложение для газетных киосков iOS. У меня есть проблемы, добавленные и работающие так, как я хочу. Однако, когда я пытаюсь загрузить их удаленный файл, он, похоже, не работает. Ни один из методов делегата не вызывается, и файл не записывается.

Это то, что у меня есть наверняка:

  • UITableViewController, который является NSURLConnectionDownloadDelegate.
  • UIBackgroundModes (в файле info.plist) добавил 'newsstand-content'
  • # импорт находится в заголовке моего UITableViewController
  • Реализованы методы NSURLConnectionDownloadDelegate

Следующий код возникает, когда пользователь соглашается загрузить проблему (Примечание: проблема не равна нулю):

  // 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];

Понятия не имею, что происходит. Из всего, что я прочитал, я, кажется, все правильно реализовал; однако ничего не происходит. Я устанавливаю точки останова, NSLogs и тому подобное; но ничего. Я даже позволил ему какое-то время работать, а затем проверил директору, что [проблема contentURL] сказал, что файл тоже будет перемещен (в моем connectionDidFinishDownloading: destinationURL: метод).

Кто-нибудь может помочь? Или, может быть, некоторые идеи для меня? Я застрял на несколько дней. Если вам нужно увидеть больше кода, просто дайте мне знать. Спасибо!

Ответы [ 2 ]

3 голосов
/ 12 января 2012

Я наконец решил это.Я запустил совершенно новый проект и провел все тесты загрузки на этом.Оказывается (я могу ошибаться, но это то, что я обнаружил), что, хотя нормальный NSURLConnection или запрос на загрузку работает в симуляторе iPhone / iPad, кажется, что NKAssetDownload не будет работать, если он не работает на реальном устройстве.

Подводя итог, я не делал ничего плохого в коде;однако мне нужно было запустить приложение на реальном устройстве, чтобы объекты NKAssetDownload начали загружаться.Конечно, это мог быть только мой опыт, но он решил мою проблему.

Я надеюсь, что это поможет другим, кто сталкивается с подобными проблемами.

1 голос
/ 12 января 2012

NKAssetDownload работает на симуляторе iPad iOS 5.0, но недоступно на симуляторе iPad iOS 4.3.Если вы запустите приложение на симуляторе 4.3, у вас будет ошибка при попытке получить доступ к newsstandkit, поэтому, я полагаю, вы использовали симулятор 5.0.

Ваш фрагмент кода выглядит нормально, так что этот, вероятно, останется загадкой.

...