苹果提供了崩溃日志,解释了遇到的异常和原因如下:
异常类型:EXC_CRASH (SIGABRT) 异常代码:0x00000000、0x00000000 崩溃线程:0 应用程序特定信息: *由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“-[__NSCFData dataUsingEncoding:]:无法识别的选择器发送到实例 0x1b4c20”
以下是在符号化崩溃日志后突出显示为崩溃原因的代码行
NSXMLParser *moveParser = [[NSXMLParser alloc] initWithData:[str_response dataUsingEncoding:NSUTF8StringEncoding]];
和
[[UAirship shared] registerDeviceToken:[deviceToken dataUsingEncoding:NSUTF8StringEncoding] withAlias:myAlias];
Apple 已经在 iOS 5.1 版 iPhone 4 和 iPad 3G 上审查了这个应用程序,每次都发生崩溃。而我们无法在任何平台上重现崩溃。我们已经尝试在 iPhone4、iOS 5.1 的 iPhone 3GS、iOS 5.0 的 iPhone 3GS、iOS 4.3.2 的 iPhone 3GS 上进行调试,但没有产生崩溃。
谁能让我知道我使用的代码有什么问题?
这是编写这些行的代码块。
NSString *str_response=(NSString *)[dic objectForKey:SuccessKey];
NSXMLParser *moveParser = [[NSXMLParser alloc] initWithData:[str_response dataUsingEncoding:NSUTF8StringEncoding]];
moveParser.delegate = self;
[moveParser parse];
[moveParser release];
和
NSString *deviceToken=[[NSUserDefaults standardUserDefaults] objectForKey:@"devToken"];
[[UAirship shared] registerDeviceToken:[deviceToken dataUsingEncoding:NSUTF8StringEncoding] withAlias:myAlias];