Я сохраняю PDF-файл из Интернета локально, а затем загружаю его в папку webView
. В iOS 4.0 и 4.1 выдает ошибку BAD_ACCESS, а в iOS 4.2 и 4.3 все работает нормально.
Это код, который я использую:
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *path = [documentsDirectory stringByAppendingPathComponent:@"press.pdf"];
filePath = [[NSURL fileURLWithPath:path]retain];
NSError *err =nil;
if ([[NSFileManager defaultManager] fileExistsAtPath:path]) { //if file already exists delete it
NSLog(@"file is already there !");
[[NSFileManager defaultManager] removeItemAtPath:path error:&err];
NSLog(@"error: %@",err);
}
[responseData writeToURL:filePath atomically:YES];
[responseData release];
if ([[NSFileManager defaultManager] fileExistsAtPath:path]) {
NSLog(@"file is there");
NSData *pdfFile = [[NSData alloc]initWithContentsOfFile:path ];
[webView loadData:pdfFile MIMEType:@"application/pdf" textEncodingName:@"utf-8" baseURL:nil];
[pdfFile release];
}
else{
NSLog(@"file not there");
}
Я пытался включить NSAutoreleaseFreedObjectCheckEnabled
, NSZombieEnabled
и NSDebugEnabled
, но в консоли ничего не получаю. Xcode просто останавливается на этой строке:
int retVal = UIApplicationMain(argc, argv, nil, nil);
и заявляет EXC_BAD_ACCESS
Я понятия не имею, что это может быть и где искать дальше.
РЕДАКТИРОВАТЬ: я забыл упомянуть, что если я прокомментирую следующую строку, она, очевидно, не сработает, потому что в webView ничего не загружено.
[webView loadData:pdfFile MIMEType:@"application/pdf" textEncodingName:@"utf-8" baseURL:nil];
responseData
и где вы[[alloc]init]
это делаете? - person akashivskyy   schedule 30.06.2011