私は、バックエンドからビデオ、画像、およびpdfをダウンロードするiPadアプリを持っていますが、400 MBのダウンロード後にアプリがクラッシュし、コンソールからgdbが戻ってきます。下へデバイスにファイルをダウンロードするときにiPadアプリがクラッシュする
ここで私はビデオファイルに使用している書き込み関数の一部です。
UPDATE
アプリは、私がNSDataオブジェクト「mediaDataResponse」をリリースする場合は、すべてのファイルをダウンロードしていますが、すべてのファイルをダウンロードした後、私にEXC_BAD_ACCESのエラーが発生します。
助けが必要ですか?
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *docsPath = [paths objectAtIndex:0];
NSString *imageCacheDirPath = [docsPath stringByAppendingPathComponent:@"video"];
if (![[NSFileManager defaultManager] fileExistsAtPath:imageCacheDirPath])
{
[[NSFileManager defaultManager] createDirectoryAtPath:imageCacheDirPath
withIntermediateDirectories:NO
attributes:nil
error:NULL];
}
NSString *filename = [NSHomeDirectory() stringByAppendingString:[NSString stringWithFormat:@"/Documents/video/%@.%@",cacheFileName,extensionstring]];
[mediaDataResponse writeToFile:filename options: NSDataWritingAtomic error: &error];
//Thumbnail
NSArray *thumbpaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *thumbdocsPath = [thumbpaths objectAtIndex:0];
NSString *thumbimageCacheDirPath = [thumbdocsPath stringByAppendingPathComponent:@"thumbnail"];
if (![[NSFileManager defaultManager] fileExistsAtPath:thumbimageCacheDirPath])
{
[[NSFileManager defaultManager] createDirectoryAtPath:thumbimageCacheDirPath
withIntermediateDirectories:NO
attributes:nil
error:NULL];
}
NSURL *thumburl = [NSURL URLWithString:media.mediaThumbnail];
NSData *thumburlData = [NSData dataWithContentsOfURL:thumburl];
NSString *thumbfilename = [NSHomeDirectory() stringByAppendingString:[NSString stringWithFormat:@"/Documents/thumbnail/%@.jpg", thumbcacheFileName]];
[thumburlData writeToFile:thumbfilename options: NSDataWritingAtomic error: &error];
}
クラッシュ後にアプリケーションを起動すると、停止した場所からダウンロードが続行されます。誰もが同じ問題を抱えていた?前もって感謝します。
クラッシュレポートの詳細を教えてください。 – tarmes
クラッシュレポートの詳細を確認できますか? – Ryan
詳細も。ファイルをダウンロード中にこのエラーも発生しています。 "SendDelegateMessage(NSInvocation *):デリゲート(_selectionLayoutChangedByScrolling :)が10秒待ってから復帰できませんでした。メイン実行ループモード:_kCFURLConnectionPrivateRunLoopMode"おそらく問題と関係があります。 – Ryan