Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/121.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
由于未知原因,Objective-C iOS应用程序在CFS期间崩溃_Ios_Iphone_Crash - Fatal编程技术网

由于未知原因,Objective-C iOS应用程序在CFS期间崩溃

由于未知原因,Objective-C iOS应用程序在CFS期间崩溃,ios,iphone,crash,Ios,Iphone,Crash,在我的iPhone应用程序中,对于某些用户来说,每当他们打开某个窗口时,应用程序总是会崩溃。同一扇窗户对我和其他人来说都很好,但对某些人来说总是会导致崩溃。目前尚不清楚它失败的对象与成功的对象之间的区别 打开特定视图的动画将正常运行,但在动画完成后会立即导致崩溃 他们给我发了一份事故日志,但很难理解到底出了什么问题。我希望你能帮助我理解。crashlog给出的故障原因是以下异常: Last Exception Backtrace: 0 CoreFoundation

在我的iPhone应用程序中,对于某些用户来说,每当他们打开某个窗口时,应用程序总是会崩溃。同一扇窗户对我和其他人来说都很好,但对某些人来说总是会导致崩溃。目前尚不清楚它失败的对象与成功的对象之间的区别

打开特定视图的动画将正常运行,但在动画完成后会立即导致崩溃

他们给我发了一份事故日志,但很难理解到底出了什么问题。我希望你能帮助我理解。crashlog给出的故障原因是以下异常:

Last Exception Backtrace:
0   CoreFoundation                  0x1836ffd38 __exceptionPreprocess + 124
1   libobjc.A.dylib                 0x182c14528 objc_exception_throw + 55
2   CoreFoundation                  0x18370d1f8 -[NSObject+ 1372664 (NSObject) doesNotRecognizeSelector:] + 139
3   UIKit                           0x18cec7cc4 -[UIResponder doesNotRecognizeSelector:] + 295
4   CoreFoundation                  0x1837056e4 ___forwarding___ + 1379
5   CoreFoundation                  0x1835eb0dc _CF_forwarding_prep_0 + 91
6   CoreFoundation                  0x1835d6be8 CFStringAppend + 519
7   CoreFoundation                  0x1836bddf0 __CFStringAppendFormatCore + 9271
8   CoreFoundation                  0x1836bf658 _CFStringCreateWithFormatAndArgumentsAux2 + 131
9   AccessibilityUtilities          0x192d6b388 _AXStringForArgs + 279
10  UIKit                           0x1a242adf8 -[UIViewControllerAccessibility viewDidAppear:] + 267
11  UIKit                           0x18cb2869c -[UIViewController _setViewAppearState:isAnimating:] + 851
12  UIKit                           0x18cb28c08 -[UIViewController _endAppearanceTransition:] + 227
13  UIKit                           0x18cbcee00 -[UINavigationController navigationTransitionView:didEndTransition:fromView:toView:] + 1327
14  UIKit                           0x1a2440cd4 -[UINavigationControllerAccessibility navigationTransitionView:didEndTransition:fromView:toView:] + 111
15  UIKit                           0x18cc96bbc __49-[UINavigationController _startCustomTransition:]_block_invoke + 251
16  UIKit                           0x18cc229d8 -[_UIViewControllerTransitionContext completeTransition:] + 115
17  UIKit                           0x18cd67d30 __53-[_UINavigationParallaxTransition animateTransition:]_block_invoke.124 + 751
18  UIKit                           0x18cb47d7c -[UIViewAnimationBlockDelegate _didEndBlockAnimation:finished:context:] + 763
19  UIKit                           0x18cb4770c -[UIViewAnimationState sendDelegateAnimationDidStop:finished:] + 311
20  UIKit                           0x18cb47418 -[UIViewAnimationState animationDidStop:finished:] + 295
21  UIKit                           0x1a2468970 -[UIViewAnimationStateAccessibility animationDidStop:finished:] + 131
22  QuartzCore                      0x1876ebd6c CA::Layer::run_animation_callbacks+ 1232236 (void*) + 283
23  libdispatch.dylib               0x183085048 _dispatch_client_callout + 15
24  libdispatch.dylib               0x183091b74 _dispatch_main_queue_callback_4CF$VARIANT$mp + 1015
25  CoreFoundation                  0x1836a7f20 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 11
26  CoreFoundation                  0x1836a5afc __CFRunLoopRun + 2011
27  CoreFoundation                  0x1835c62d8 CFRunLoopRunSpecific + 435
28  GraphicsServices                0x185457f84 GSEventRunModal + 99
29  UIKit                           0x18cb73880 UIApplicationMain + 207
30  Flyskyhy                        0x10490bd80 main + 32128 (main.m:17)
31  libdyld.dylib                   0x1830ea56c start + 3
crashlog似乎表明它在执行
CFStringAppend
时出错,但不清楚哪个字符串是问题所在,或者它出了什么问题,甚至不清楚为什么需要使用
CFStringAppend
。在动画开始之前,视图中可见的所有字符串都已填充,并且它们都是正确的

编辑:

根据要求,以下是启动视图的代码。所有内容都在NavigationController下,因此新的视图控制器被推送到导航堆栈上以打开它

WaypointEditController *controller = [[WaypointEditController alloc] initWithNibName:@"WayPointEdit" bundle:nil];
controller.navigationItem.title = @"New Waypoint";
// initialisation of other, custom, fields of controller

[self.navigationController pushViewController:controller animated:YES];
推送的
WaypointEditController
类派生自
UIViewController
视图将出现
被覆盖,以初始化视图的字段。但是-related here-
viewdide
未被覆盖

在相关情况下,以下是
视图中最重要的操作将出现
方法:

- (void) viewWillAppear:(BOOL)animated
{
    [super viewWillAppear:animated];
    [self.navigationController setNavigationBarHidden:NO animated:YES];

    self.navigationItem.title = @"New Waypoint";

    // other initialisation of internal fields
}

和您一样,我也有客户报告此问题,我可以看到XCode从生产中下载的堆栈跟踪,但我无法复制它。。。直到我尝试启用“画外音”

我尝试的其他可访问性选项工作正常

堆栈跟踪显示iOS正在向UILabel的实例发送“长度”选择器。这似乎很奇怪。为了看看会发生什么,我向UILabel添加了一个“length”方法,以返回UILabel的文本属性的长度。然后它就失败了,出现了一个未知的选择器_encodingCantBestOredineRightBitCfString。很明显,iOS认为我的UILabel不是

这是因为“description”用于我的UILabel属性/IBOutlet的名称


为了解决这个问题,我将属性从“description”重命名为其他名称。我怀疑我合成的“description”getter覆盖了NSObject的description方法(该方法返回一个符合发送到UILabel的选择器的NSString)。

像您一样,我有客户报告此问题,我可以看到XCode从生产中下载的堆栈跟踪,但我无法复制它。。。直到我尝试启用“画外音”

我尝试的其他可访问性选项工作正常

堆栈跟踪显示iOS正在向UILabel的实例发送“长度”选择器。这似乎很奇怪。为了看看会发生什么,我向UILabel添加了一个“length”方法,以返回UILabel的文本属性的长度。然后它就失败了,出现了一个未知的选择器_encodingCantBestOredineRightBitCfString。很明显,iOS认为我的UILabel不是

这是因为“description”用于我的UILabel属性/IBOutlet的名称


为了解决这个问题,我将属性从“description”重命名为其他名称。我怀疑我的合成“description”getter覆盖了NSObject的description方法(该方法返回一个符合发送到UILabel的选择器的NSString)。

您能发布导致崩溃的代码吗?仅基于上述情况很难诊断问题。正如您在上面看到的,异常中不涉及应用程序的任何代码。综上所述,您似乎在ViewDidDisplay中的某个位置遇到了无法识别的选择器异常。我会仔细检查代码,或者将其发布到这里,这样我就可以检查它了。查看显示的UIViewControllerAccessibility是Apple iOS的一部分,所以我没有这方面的代码。从跟踪中可以看出,异常中根本没有涉及我的应用程序的代码(除了标准的主功能)。我想知道UIViewControllerAccessibility和AccessibilityUtilities的参与是否表明用户打开了某种形式的可访问性。我问过他们,但他们说没有。你能发布导致崩溃的代码吗?仅基于上述情况很难诊断问题。正如您在上面看到的,异常中不涉及应用程序的任何代码。综上所述,您似乎在ViewDidDisplay中的某个位置遇到了无法识别的选择器异常。我会仔细检查代码,或者将其发布到这里,这样我就可以检查它了。查看显示的UIViewControllerAccessibility是Apple iOS的一部分,所以我没有这方面的代码。从跟踪中可以看出,异常中根本没有涉及我的应用程序的代码(除了标准的主功能)。我想知道UIViewControllerAccessibility和AccessibilityUtilities的参与是否表明用户打开了某种形式的可访问性。我问过他们,但他们说不,太好了!我在相关的视图控制器中也有一个名为“description”的IBOutlet,因此原因可能相同。我甚至不知道NSObject有一个描述方法。现在我只需要找到一种引发问题的方法。打开“画外音”不起作用,因为这样应用程序就完全无法使用了……太棒了!我在相关的视图控制器中也有一个名为“description”的IBOutlet,因此原因可能相同。我甚至不知道NSObject有一个描述方法。现在我只需要找到一种引发问题的方法。打开“voice over”无法工作,因为这样应用程序将完全无法使用。。。