- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
更新:我在这一年中使用了我的一个 DTS。目前与 Apple 支持工程师合作。根据他的建议,我还为此创建了一个错误报告。随着时间的推移,我将更新此线程,希望能产生最终解决方案。
不知何故,我想出了一种方法来创建一个真正重启模拟器和/或物理设备的应用程序。为我欢呼。当我升级到 xcode 7 并开始针对 iOS 9 进行测试时,这个问题就开始了。在任何低于 iOS 9 的设备/模拟器上,这个问题都不会出现。
当我将它附加到 Xcode 运行时,我看到的唯一日志消息是
XPC connection interrupted
Terminating since there is no system app.
我已将其缩小到正在调用的一段代码
[self addChildViewController:segue.destinationViewController];
此代码是以此 view controller 的样式创建的“MultichildContainerViewController”的一部分
在这一点上,我只是不知道去哪里寻找/做什么来解决这个问题。如果我注释掉 childviewcontroller 的添加,一切都很好,应用程序运行正常。如果我不将其注释掉,它会重新启动我的整个模拟器。
关于在哪里可以找到额外的调试信息或潜在修复的任何想法?我只是不知道在这一点上可以在哪里找到更多信息,进而用来寻求帮助。感谢任何帮助,谢谢。
编辑:我不知道这是否有帮助,但我能够在实际的 iOS 模拟器 system.log 中找到它。似乎没有对我自己的代码库的任何引用,只是背板?
Oct 16 17:56:29 MyComputer backboardd[43977]: -[NSNull isEqualToString:]: unrecognized selector sent to instance 0x10de1baf0
Oct 16 17:56:29 MyComputer backboardd[43977]: *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[NSNull isEqualToString:]: unrecognized selector sent to instance 0x10d
e1baf0'
*** First throw call stack:
(
0 CoreFoundation 0x000000010dbf6f65 __exceptionPreprocess + 165
1 libobjc.A.dylib 0x000000010df82deb objc_exception_throw + 48
2 CoreFoundation 0x000000010dbff58d -[NSObject(NSObject) doesNotRecognizeSelector:] + 205
3 CoreFoundation 0x000000010db4cf7a ___forwarding___ + 970
4 CoreFoundation 0x000000010db4cb28 _CF_forwarding_prep_0 + 120
5 BackBoardServices 0x000000010d020b28 -[BKSHIDEventKeyCommandDescriptor isEqual:] + 155
6 CoreFoundation 0x000000010db1630b -[__NSSetM addObject:] + 411
7 CoreFoundation 0x000000010db466a0 -[NSMutableSet unionSet:] + 736
8 BackBoardServices 0x000000010d0223a3 -[BKSHIDEventRouter addHIDEventDescriptors:] + 38
9 backboardd 0x000000010c73a881 backboardd + 186497
10 libdispatch.dylib 0x000000010e862df5 _dispatch_call_block_and_release + 12
11 libdispatch.dylib 0x000000010e87e4a7 _dispatch_client_callout + 8
12 libdispatch.dylib 0x000000010e868184 _dispatch_queue_drain + 1048
13 libdispatch.dylib 0x000000010e867b3c _dispatch_queue_invoke + 595
14 libdispatch.dylib 0x000000010e869454 _dispatch_root_queue_drain + 565
15 libdispatch.dylib 0x000000010e869218 _dispatch_worker_thread3 + 98
16 libsystem_pthread.dylib 0x000000010ebaa4f2 _pthread_wqthread + 1129
17 libsystem_pthread.dylib 0x000000010eba8375 start_wqthread + 13
)
编辑:我还想强调,这不仅仅是导致应用程序崩溃,而是导致整个模拟器重新启动。我还可以在物理设备上触发此重启。如果这只是一个简单的调用案例 等于字符串在 NSNull 上,这不应该只会让我的应用程序崩溃吗?不是整个模拟器?
最佳答案
我想我明白了!我很确定我的问题和你的一样。相同的崩溃日志和情况。
我试图隔离问题,所以我将 Storyboard复制到一个空白项目中并删除所有连接并将所有类设置为默认类(无自定义类)。
经过一番尝试,我决定尝试将不同的 Split View Controller 重新链接到相同的主类和细节类。有用!所以我比较了所有设置,几乎没有什么不同。该死的。
现在怎么办?打开源代码。右键单击左 Pane 中的 Storyboard,然后选择“使用外部编辑器打开”。这应该打开 Storyboard的源代码。我对比了两个split view controller的源码,发现了区别。
这是我看的地方
<!--Split View Controller-->
<scene sceneID="X6N-vM-fHn">
<objects>
<splitViewController id="xSd-V6-k6W" customClass="SplitViewController" sceneMemberID="viewController">
<navigationItem key="navigationItem" id="yvV-sB-yKa"/>
<keyCommands>
<keyCommand/>
</keyCommands>
<connections>
<segue destination="PW6-z0-erU" kind="relationship" relationship="masterViewController" id="MBC-0A-hls"/>
<segue destination="xqk-PP-nzR" kind="relationship" relationship="detailViewController" id="sMq-cw-27p"/>
</connections>
</splitViewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="nG8-BB-Qmu" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="-157" y="-370"/>
</scene>
有什么区别?
<keyCommands>
<keyCommand/>
</keyCommands>
我不知道它是什么,也不知道它是如何到达那里的,但是当我删除这 3 行时,崩溃就消失了。有一个 UIKeyCommand类,但我从未使用过它,所以我不确定它是否相关。希望这对您有所帮助!
关于ios - 应用程序在 iOS 9 + Xcode 7 的 Segue 上崩溃整个设备,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33180655/
我一整天都遇到同样的错误,我知道这是在说 Storyboard 中没有识别出 segue,但确实如此。以下是我认为相关的代码:1.为 segue 发出信号的按钮的 IBAction。 -(IBActi
我有一个从 A View Controller 到 B View Controller 的 unwind segue。 在B中做了一个网络操作,操作完成后,响应会显示在A View Controlle
我正在创建一个应用程序,家长可以在其中登录并查看有关其本地托儿中心的信息。但是,为登录运行 View Controller 的代码无法正常工作。一旦用户按下登录按钮,我希望我的代码使用标识符“Show
刚刚遇到一个奇怪的问题。我有一个启动画面,它自动使用自定义 segue (fade-to-segue) 转到主页 ViewController。自定义 segue 工作正常,但一旦实现,我在主页上的其
以编程方式创建的 segue 在 performSegueWithIdentifier: 上使应用程序崩溃,不过我真的不想使用 Storyboard。 - (void)viewDidLoad { [s
我想我一定在这里遗漏了一些简单的东西,但我不知道它是什么。 我必须支持来自同一个 View Controller 的多个 segue,所以我很自然地想使用 segue 标识符。我的代码由于某种原因无法
当用户在警告时点击“确定”按钮时,我如何才能将用户带到自定义 View Controller ? 我有一个主 Controller -> 导航 Controller -> 第二个 View Contr
在 TableView Controller 中,我试图获取在我继续之前选择的行的索引(最终将传递此信息以准备继续)。我已经实现了这个功能: var selectedQuestionCell: Ind
我正在 Xamarin Studio 中开发一个应用程序(所以它是 C#),它有一个包含多个 TextField 的表单,我想在 segue 之前验证整个屏幕> 到下一个屏幕执行。单击按钮时,它正在使
我有一个带有标识符的 segue。 当我按下函数 shouldPerformSegueWithIdentifier 中的按钮时,我得到一个空标识符 什么会导致这样的问题?我设置错了什么? 这是我的代码
我有一个奇怪的问题。我在 Storyboard中创建了 2 个 View Controller :testSegueViewcontroller 和 nextPageViewController。 t
我下面的代码试图将一个值从 twoviewcontroller 转移到 View Controller 。 segue 正在工作,我可以从 View Controller 转到 View Contro
我正在尝试使用自定义segue,当单击按钮时,它会使 View 向右或向左“滚动”。我添加了一个如下所示的自定义类 class horizontalSegue : UIStoryboardSegue
我有一个带有 Root View Controller 的 UINavigationController。我的 UINavigationController 也设置为我的应用程序的 Initial V
您好,我正在尝试使用 prepare for segue 方法执行一个 segue。我在关注这个问题 this但我无法成功注册。当我单击注册按钮时,它所做的只是注册用户并停在那里。我从 View Co
当 Storyboard上有一个按钮连接退出时,我了解如何使用展开转场。但是在我的应用程序中,我使用推送转场从 TableViewController 转到 ViewController。所以我的导航
我要实现的目标的背景: MainViewController 呈现 TableVC。我将点击一个单元格以显示 DetailVC。能够通过 TableVC 或 DetailVC 上导航栏上的 doneB
在我的 Storyboard中,模态转场将用户带到登录屏幕(从主屏幕)。然后,我从注册屏幕添加了一个 PUSH segue 到下一个屏幕(创建配置文件),该屏幕嵌入在导航 Controller 中(创
我有大约 6 个 segue 在 prepareForSegue 方法中执行相同的操作,但是,我想为我的 unwind segue 跳过此操作,但我无法弄清楚如何确定传递的 segue 是 unwin
因此,我开始在XCode 4.3.2中使用 Storyboard 。我从Master-Detail应用程序(iPad的拆分 View 应用程序)开始。在详细信息 View (名为DetailVC)中,
我是一名优秀的程序员,十分优秀!