iOS 模拟器在编译时崩溃
iOS Simulator crashing in compile
我是 xcode 和这个论坛的新手,很抱歉我的语言不专业。
我在尝试 运行 应用程序时遇到 iOS 模拟器崩溃的问题。它并不总是发生,当我刚开始做一个项目时,一切都很好。但是突然之间,在我只是更改了代码中的一些小东西之后,iOS 模拟器一启动就崩溃了(编译工作)。 Xcode 然后带我到调试页面,还在右下角显示了很多输出-window(我不知道它叫什么)。我没有得到任何输出,它说了一些关于 NSencryption 的信息。一旦 iOS 模拟器开始崩溃,它会在每次 运行 启动 project/app 时崩溃。即使我撤消了我在它停止工作时所做的更改,即使我删除了所有代码并且一切看起来都像一个新项目,它也不会 运行.
试图打电话给 Apple 支持来解决这个问题,但他们说我应该 post 在论坛上提问,希望你能帮助我,因为我真的厌倦了这个,我无法构建任何东西。
顺便说一下,我已经尝试重置 iOS 模拟器,但同样的问题仍然存在。
这是我从 'console' 得到的输出:顺便说一句,请告诉我这段代码是否合理,我会删除它。
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)
这是给我这个错误的代码:
` 导入 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
您没有提供很多细节,但这里是开始解决您的问题的方法。
您的 Xcode 应用程序的底部有一个调试器 window。在 window 中,将显示来自应用程序的消息。当您的应用程序崩溃时,它会打印出堆栈跟踪,显示崩溃前发生的事情。
当 post 访问此处时,您需要将其包含在 post 中。在该崩溃日志中,顶部部分会告诉您问题所在——典型的问题是 nil 值或调用超出范围的内容。进一步查看崩溃日志,您通常会看到系统内容(UIKit 等)。查看您创建的 class 中调用的最新方法。然后,在您的代码中找到该方法并在其旁边添加一个断点。断点到达该点时将停止执行您的代码。在屏幕底部的调试器 window 顶部,您会看到几个按钮。其中之一是 "step over"。当您到达断点时,使用 "step over" 按钮一次一行地执行您的代码。当你遇到问题时,它会崩溃。
您还需要 Google 调试控制台吐出的错误。 10 次中有 9 次,有人遇到了您遇到的问题,您将能够继续解决您的问题。如果这不能解决问题,您需要 post 此处提供详细信息和有问题的方法。
我建议做的另一件事是学习如何使用 GitHub。当我开始学习这个(我还在学习它)时,git 似乎有点矫枉过正,但事后看来,从一开始就学习如何使用 git 是个好主意。您将能够创建分支来处理您软件中的功能,并在您有新功能时将它们合并到 "master"。当我开始的时候,我会走得相当远,我会做一个小的改变,我会破坏一堆东西——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
。我怀疑这个 post 会引导您朝着正确的方向前进。
What does this mean? "'NSUnknownKeyException', reason: … this class is not key value coding-compliant for the key X"
解法:
您有一个 ViewController.swift
文件,但您的故事板文件是
1) 错误命名和
2) 上面没有任何场景。
这是您需要做的:
1) 重命名故事板 文件“Main.storyboard
”
2) 在故事板上添加一个视图控制器场景,因为您目前在故事板上没有场景。您可以通过从屏幕右下角拖放 View Controller 来完成此操作。
3) 当您的 ViewController 场景高亮显示时,在屏幕的右上角您应该会看到一些按钮。其中之一叫做 "Attributes Inspector"。确保选中 "Is Initial View Controller"。左边的一个按钮是 "Identity Inspector"。确保 class 设置为 ViewController
.
我再说一遍。如果你想学习iOS,我建议先学习GitHub。此外,Stanford University has a free iOS course 由一位与史蒂夫·乔布斯密切合作的人教授,您可能会觉得有帮助。如果是 "too much" 开始,我建议你拿起一本 Big Nerd Ranch 的书或查看 Ray Wenderlich 的网站。
错误消息的相关部分是:
“[<Testing123.ViewController 0x7f93ea8272c0> setValue:forUndefinedKey:]: 这个 class 不符合键值编码键 addFive.'
寻找您正在使用的地方 addFive
。这不是为你使用它的实例定义的。
我是 xcode 和这个论坛的新手,很抱歉我的语言不专业。
我在尝试 运行 应用程序时遇到 iOS 模拟器崩溃的问题。它并不总是发生,当我刚开始做一个项目时,一切都很好。但是突然之间,在我只是更改了代码中的一些小东西之后,iOS 模拟器一启动就崩溃了(编译工作)。 Xcode 然后带我到调试页面,还在右下角显示了很多输出-window(我不知道它叫什么)。我没有得到任何输出,它说了一些关于 NSencryption 的信息。一旦 iOS 模拟器开始崩溃,它会在每次 运行 启动 project/app 时崩溃。即使我撤消了我在它停止工作时所做的更改,即使我删除了所有代码并且一切看起来都像一个新项目,它也不会 运行.
试图打电话给 Apple 支持来解决这个问题,但他们说我应该 post 在论坛上提问,希望你能帮助我,因为我真的厌倦了这个,我无法构建任何东西。
顺便说一下,我已经尝试重置 iOS 模拟器,但同样的问题仍然存在。
这是我从 'console' 得到的输出:顺便说一句,请告诉我这段代码是否合理,我会删除它。
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)
这是给我这个错误的代码:
` 导入 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
您没有提供很多细节,但这里是开始解决您的问题的方法。
您的 Xcode 应用程序的底部有一个调试器 window。在 window 中,将显示来自应用程序的消息。当您的应用程序崩溃时,它会打印出堆栈跟踪,显示崩溃前发生的事情。
当 post 访问此处时,您需要将其包含在 post 中。在该崩溃日志中,顶部部分会告诉您问题所在——典型的问题是 nil 值或调用超出范围的内容。进一步查看崩溃日志,您通常会看到系统内容(UIKit 等)。查看您创建的 class 中调用的最新方法。然后,在您的代码中找到该方法并在其旁边添加一个断点。断点到达该点时将停止执行您的代码。在屏幕底部的调试器 window 顶部,您会看到几个按钮。其中之一是 "step over"。当您到达断点时,使用 "step over" 按钮一次一行地执行您的代码。当你遇到问题时,它会崩溃。
您还需要 Google 调试控制台吐出的错误。 10 次中有 9 次,有人遇到了您遇到的问题,您将能够继续解决您的问题。如果这不能解决问题,您需要 post 此处提供详细信息和有问题的方法。
我建议做的另一件事是学习如何使用 GitHub。当我开始学习这个(我还在学习它)时,git 似乎有点矫枉过正,但事后看来,从一开始就学习如何使用 git 是个好主意。您将能够创建分支来处理您软件中的功能,并在您有新功能时将它们合并到 "master"。当我开始的时候,我会走得相当远,我会做一个小的改变,我会破坏一堆东西——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
。我怀疑这个 post 会引导您朝着正确的方向前进。
What does this mean? "'NSUnknownKeyException', reason: … this class is not key value coding-compliant for the key X"
解法:
您有一个 ViewController.swift
文件,但您的故事板文件是
1) 错误命名和 2) 上面没有任何场景。
这是您需要做的:
1) 重命名故事板 文件“Main.storyboard
”
2) 在故事板上添加一个视图控制器场景,因为您目前在故事板上没有场景。您可以通过从屏幕右下角拖放 View Controller 来完成此操作。
3) 当您的 ViewController 场景高亮显示时,在屏幕的右上角您应该会看到一些按钮。其中之一叫做 "Attributes Inspector"。确保选中 "Is Initial View Controller"。左边的一个按钮是 "Identity Inspector"。确保 class 设置为 ViewController
.
我再说一遍。如果你想学习iOS,我建议先学习GitHub。此外,Stanford University has a free iOS course 由一位与史蒂夫·乔布斯密切合作的人教授,您可能会觉得有帮助。如果是 "too much" 开始,我建议你拿起一本 Big Nerd Ranch 的书或查看 Ray Wenderlich 的网站。
错误消息的相关部分是: “[<Testing123.ViewController 0x7f93ea8272c0> setValue:forUndefinedKey:]: 这个 class 不符合键值编码键 addFive.'
寻找您正在使用的地方 addFive
。这不是为你使用它的实例定义的。