我正在使用FTPHelper執行基本的下載/上傳FTP功能。使用它上傳到我的目的地時,我一直頻繁發生崩潰。在第一次上傳時似乎並沒有發生崩潰,但隨着我進行後續的調用,崩潰的可能性越來越大。 Xcode中吐出EXC_BAD_ACCESS(代碼= 1,地址=的0x30)在輔助類::使用iOS上的FTP庫進行上傳時,EXC_BAD_ACCESS/SIGSEGV(CFWriteStreamOpen)
success = CFWriteStreamOpen(writeStream);
我已經啓用異常斷點和殭屍,但我沒有看到任何東西我可以感517線的。下面是什麼我的堆棧跟蹤看起來像在每個失事扣:
我已經能夠重新與其他幾個FTP庫(BlackRaccon和FTPManager)此相同的堆棧跟蹤。
上傳的文件是用戶與用戶界面交互產生的簡單文件,也就是說它是基於用戶在屏幕上選擇的內容而動態生成的。這裏是生成,保存在本地代碼,並上傳文件:
//Prepare to write a new file to the device and then upload it
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *putContent = [NSString stringWithFormat:@"V%d\n", (int)(funnySlider.value * -1)];
NSString *writepath = [documentsDirectory stringByAppendingPathComponent:@"foo.dat"];
//if the path exists
if([[NSFileManager defaultManager] fileExistsAtPath:writepath]){
//Upload the newly created file
[putContent writeToFile:writepath atomically:NO encoding:NSASCIIStringEncoding error:nil];
[FTPHelper upload:@"foo.dat"];
}
一些奇怪的事情,我想強調,以及...灌裝foo.dat有很多的繁文縟節內容,以增加其文件大小品牌該應用程序更穩定。在100KB +以上幾乎可靠。使用iPod Touch第四代時我也沒有崩潰(好吧,我有一個,但它是在幾十次和幾十次測試之後)。然而,iPhone和iPad卻做到了。任何想法如何解決這個問題或爲什麼它可能會發生?我應該放棄這種上傳方式嗎?