2011-12-21 11 views
0

バックグラウンドに入るだけでなく、ユーザーがアプリを終了した後にダウンロードを再開するにはどうすればよいですか?ニュースレターは、ユーザーが終了したアプリのダウンロードを再開します。完全に

私のコードは最初はダウンロードを開始するためにこのように見えますが、問題を再開できるかどうかをここで確認することができます。

NSMutableURLRequest *nkRequest = [NSMutableURLRequest requestWithURL:url 
                   cachePolicy:NSURLRequestReloadIgnoringLocalAndRemoteCacheData 
                  timeoutInterval:30.0]; 
     NKLibrary *library = [NKLibrary sharedLibrary]; 
     NKIssue *issue = [library addIssueWithName:[downloadInfo objectForKey:kPackageID] date:[NSDate date]]; 

     [[NKLibrary sharedLibrary] setCurrentlyReadingIssue:[[NKLibrary sharedLibrary] issueWithName:[downloadInfo objectForKey:kPackageID]]]; 
     NKAssetDownload *asset = [issue addAssetWithRequest:nkRequest]; 
     [asset setUserInfo:[NSDictionary dictionaryWithObjectsAndKeys:info,@"info", nil]]; 
     [asset downloadWithDelegate:self]; 

答えて

3

まあ、それはかなり単純なようです。私がやっている方法(とどのようにAppleがそれを行うことを言うようですが)AppDelegateのメソッドアプリケーションに次のコードを置くことである:didFinishLaunchingWithOptions:

// Get the Library 
NKLibrary *nkLib = [NKLibrary sharedLibrary]; 

// Loop through all 'queued' NKAssetDownloads and resume with a delegate 
for(NKAssetDownload *asset in [nkLib downloadingAssets]) 
{ 
    [asset downloadWithDelegate:yourDownloadDelegate]; 
} 

あなたがする必要があるすべてする必要があること。これはセッション504の下でWWDC 2011で簡単に触れられました。そのビデオとスライドはニューススタンドキットの参考になります。私はあなたがそれを見たり読んだりすることを強く勧めます。それは私をたくさん助けました。がんばろう!

関連する問題