Ios NSSearchPathForDirectories内存崩溃
代码如下:Ios NSSearchPathForDirectories内存崩溃,ios,crash,Ios,Crash,代码如下: Exception Type: EXC_BAD_ACCESS (SIGSEGV) Exception Codes: KERN_PROTECTION_FAILURE at 0x2fc30fec Crashed Thread: 0 Thread 0 name: Dispatch queue: com.apple.main-thread Thread 0 Crashed: 0 CoreFoundation 0x3367b788 construc
Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_PROTECTION_FAILURE at 0x2fc30fec
Crashed Thread: 0
Thread 0 name: Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0 CoreFoundation 0x3367b788 constructBuffers
1 CoreFoundation 0x3367af38 _parseComponents
2 CoreFoundation 0x3367aeb2 _CFURLInit
3 CoreFoundation 0x3367a64e CFURLCreateFromFileSystemRepresentation
4 CoreFoundation 0x3367a41c _CFCopyHomeDirURLForUser
5 CoreFoundation 0x3367a3ba CFCopyHomeDirectoryURLForUser
6 Foundation 0x33f90564 NSHomeDirectoryForUser
7 Foundation 0x33f906d6 _NSExpandTildeInPath
8 Foundation 0x33fb16b0 -[NSString(NSPathUtilities) stringByExpandingTildeInPath]
9 Foundation 0x33fb14c2 NSSearchPathForDirectoriesInDomains
10 WenHua 0x0018844a +[FilePathsManager ServerAddressFileInDocument] (FilePathsManager.m:90)
11 WenHua 0x00176bcc +[ServerAddress loadServerAdressList:dealArray:] (SeverAdress.m:102)
12 WenHua 0x0012ebcc -[Adapter randomTradeServer] (Adapter.m:7975)
在本崩溃报告中,这是否意味着应用程序在“NSSearchPathForDirectoriesInDomains”
处崩溃?
我不熟悉崩溃报告,谢谢您的帮助。在(FilePathsManager.m:90)运行“[FilePathsManager ServerAddressFileInDocument]”时,您的应用程序似乎崩溃了。您能发布代码吗,崩溃在哪里?在执行NSSearchPathForDirectoriesInDomains时,这些路径或目录方法地址似乎有问题,对吗?不确定,您的代码在我的项目中运行得很好。尝试启用僵尸对象并再次运行,看看您得到了什么。它在我的手机中运行得很好。但在许多客户的iPhone中都会发生。我仍在测试,希望它发生在我的手机上。由于NSSearchPathForDirectoriesInDomains()的第三个参数为“是”,因此调用了方法“-stringByExpandingTildeInPath”,在一些客户的iPhone上将“~”扩展到完整路径时,可能出了问题。
+(NSString *)ServerAddressFileInDocument
{
NSString *docPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
return [docPath stringByAppendingPathComponent:@"ServerAddress.plist"];
}
+ (void)loadServerAdressList:(NSMutableArray *)marketArray dealArray:(NSMutableArray *)dealArray
{
NSData *data = [NSData dataWithContentsOfFile:[FilePathsManager ServerAddressFileInDocument]];
NSKeyedUnarchiver *unArchiver = [[NSKeyedUnarchiver alloc] initForReadingWithData:data];
[marketArray setArray:[unArchiver decodeObjectForKey:@"market"]];
[dealArray setArray:[unArchiver decodeObjectForKey:@"deal"]];
[unArchiver finishDecoding]; [unArchiver release];
}