我是xcode和这个论坛的新手,很抱歉我的非专业语言。
当我尝试运行应用时,我遇到了iOS模拟器崩溃的问题。它并不总是发生,当我刚刚开始在一个项目上工作时,一切都很好。但是在我刚刚改变代码中的一些小东西之后,iOS模拟器一开始就崩溃了(编译工作)。 Xcode然后带我进入调试页面,并在右下角窗口显示了很多输出(我不知道它叫什么)。我没有得到任何输出,它说的是关于NSencryption的事情。一旦iOS模拟器开始崩溃,它每次开始运行该项目/应用程序时都会崩溃。即使我撤消了我在停止工作时所做的更改,即使我删除了所有代码,而且所有内容看起来都像是一个新项目,但它仍然没有运行。
试图打电话给Apple支持解决这个问题,但他们说我应该在论坛上发帖提问,希望你能帮助我,因为我真的厌倦了这个,我无法建立任何东西。
顺便说一下,我试图重置iOS模拟器,但同样的问题仍然存在。
以下是我从控制台获得的输出':顺便说一下,请告诉我这些代码是否合理,我会删除它。
2015-03-26 17:39:52.727 Testing123[19815:4331412] *** Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<Testing123.ViewController 0x7f93ea8272c0> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key addFive.'
*** First throw call stack:
(
0 CoreFoundation 0x00000001026e1a75 __exceptionPreprocess + 165
1 libobjc.A.dylib 0x0000000104239bb7 objc_exception_throw + 45
2 CoreFoundation 0x00000001026e16b9 -[NSException raise] + 9
3 Foundation 0x0000000102afcd43 -[NSObject(NSKeyValueCoding) setValue:forKey:] + 259
4 CoreFoundation 0x000000010262b5e0 -[NSArray makeObjectsPerformSelector:] + 224
5 UIKit 0x000000010323b4ed -[UINib instantiateWithOwner:options:] + 1506
6 UIKit 0x0000000103099a88 -[UIViewController _loadViewFromNibNamed:bundle:] + 242
7 UIKit 0x000000010309a078 -[UIViewController loadView] + 109
8 UIKit 0x000000010309a2e9 -[UIViewController loadViewIfRequired] + 75
9 UIKit 0x000000010309a77e -[UIViewController view] + 27
10 UIKit 0x0000000102fb9509 -[UIWindow addRootViewControllerViewIfPossible] + 58
11 UIKit 0x0000000102fb98a1 -[UIWindow _setHidden:forced:] + 247
12 UIKit 0x0000000102fc5f8c -[UIWindow makeKeyAndVisible] + 42
13 UIKit 0x0000000102f700c2 -[UIApplication _callInitializationDelegatesForMainScene:transitionContext:] + 2732
14 UIKit 0x0000000102f72e3e -[UIApplication _runWithMainScene:transitionContext:completion:] + 1349
15 UIKit 0x0000000102f71d35 -[UIApplication workspaceDidEndTransaction:] + 179
16 FrontBoardServices 0x0000000105deb243 __31-[FBSSerialQueue performAsync:]_block_invoke + 16
17 CoreFoundation 0x0000000102616c7c __CFRUNLOOP_IS_CALLING_OUT_TO_A_BLOCK__ + 12
18 CoreFoundation 0x000000010260c9c5 __CFRunLoopDoBlocks + 341
19 CoreFoundation 0x000000010260c785 __CFRunLoopRun + 2389
20 CoreFoundation 0x000000010260bbc6 CFRunLoopRunSpecific + 470
21 UIKit 0x0000000102f717a2 -[UIApplication _run] + 413
22 UIKit 0x0000000102f74580 UIApplicationMain + 1282
23 Testing123 0x00000001025051ee top_level_code + 78
24 Testing123 0x000000010250522a main + 42
25 libdyld.dylib 0x0000000104a15145 start + 1
)
libc++abi.dylib: terminating with uncaught exception of type NSException
(lldb)
这是给我这个错误的代码:
`import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}`
以下是project
答案 0 :(得分:0)
您没有提供太多细节,但这里是如何开始解决您的问题。
Xcode应用程序的底部有一个调试器窗口。在该窗口中,将显示来自应用程序的消息。当您的应用程序崩溃时,它将打印出一个堆栈跟踪,显示崩溃前发生的事情。
在此处发布时,您需要在帖子中包含该内容。在崩溃日志中,顶部将告诉您问题所在 - 典型问题是零值或调用范围之外的东西。在崩溃日志中进一步查看,您通常会看到系统内容(UIKit等)。查看您创建的类中调用的最新方法。然后,在代码中找到该方法并在其旁边添加断点。断点将在到达该位置时停止执行代码。在屏幕底部的调试器窗口顶部,您会看到几个按钮。其中一个是“跨越”。当您点击断点时,使用“跳过”按钮一次执行一行代码。当你遇到问题时,它会崩溃。
您还需要Google调试控制台吐出的错误。 10次中有9次,有人遇到了您遇到的问题,您将能够继续解决问题。如果这不能解决问题,那么您需要在此处发布详细信息和有问题的方法。
我建议做的另一件事是学习如何使用GitHub。当我开始学习这个(我仍然在学习它)时,git看起来有点矫枉过正,但事后来看,从一开始就学习如何使用git是个好主意。您将能够创建分支以处理软件中的功能,并在您使用新功能时将它们合并为“主”。当我开始时,我会走得很远,我会做一个小改动,我会打破一些东西 - 这仍然会发生在Git上,但你会有一个功能的软件版本。使用Git,您将能够始终拥有一个可以运行的稳定版本,并且您可以添加功能而无需担心炸毁整个项目。
祝你好运!更新新信息:
您的出发点是谷歌搜索:Terminating app due to uncaught exception 'NSUnknownKeyException', reason: ViewController setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key
。
此外,import UIKit
应为#import UIKit
。我怀疑这篇文章会引导你朝着正确的方向前进。
<强>解决方案:强>
您有一个ViewController.swift
文件,但您的故事板文件是
1)错误地命名和 2)没有任何场景。
以下是您需要做的事情:
1)重命名故事板文件“Main.storyboard
”
2)在故事板上添加View Controller场景,因为您的故事板上当前没有场景。你可以通过拖动来实现这一点。从屏幕的右下角放下View Controller。
3)当您的ViewController场景突出显示时,在屏幕的右上角,您会看到一些按钮。其中一个被称为“属性检查员”。确保选中“是初始视图控制器”。左侧的一个按钮是“Identity Inspector”。确保课程设置为ViewController
。
我会再说一遍。如果你想学习iOS,我建议你先学习GitHub。此外,Stanford University has a free iOS course由一位与史蒂夫乔布斯密切合作的人教授,你可能会发现这些人很有帮助。如果它开始“太多”,我建议你去看一本Big Nerd Ranch书或者看看Ray Wenderlich的网站。
答案 1 :(得分:0)
错误消息的相关部分是: “[&lt; Testing123.ViewController 0x7f93ea8272c0&gt; setValue:forUndefinedKey:]:此类与键 addFive 不符合键值编码。
查找您使用addFive
的位置。对于yu正在使用它的实例,没有定义。