【发布时间】:2013-12-02 04:50:41
【问题描述】:
我是 iOS 开发的初学者。我遇到了一个奇怪的问题,有时在尝试运行应用程序时会出现此错误:
应用程序窗口在应用程序启动结束时应该有一个根视图控制器
我有一个文本输入、标签和 2 个按钮。
奇怪的是,我可以通过简单地在情节提要上移动一个元素来修复这个错误。但是,通过再次移动某些东西,我经常会破坏它并出现此错误。
我已经检查过:
- 我的 plist 文件中的主故事板文件基本名称是正确的
- main.m UIApplicationMain 行永远不会改变
- 我的情节提要设置为初始情节提要。
我不明白为什么在故事板上移动元素会导致/修复此错误。
这是在 XCode 5 中。
编辑: 根据要求,2个屏幕截图。 工作:“做”按钮出现在最上面。构建,运行良好。
然后,我将“执行”按钮移到“测试”下方。构建,失败。
编辑2: 我在损坏的项目和工作项目的副本之间进行了比较。这是我得到的:
pauls-mbp:Objective C paul$ diff -r CEM1 CEM1.broke
diff -r CEM1/CEM1/Base.lproj/Main.storyboard
CEM1.broke/CEM1/Base.lproj/Main.storyboard
33c33
< <rect key="frame" x="156" y="164" width="33" height="30"/>
---
> <rect key="frame" x="151" y="198" width="33" height="30"/>
43c43
< <rect key="frame" x="150" y="257" width="44" height="24"/>
---
> <rect key="frame" x="145" y="236" width="44" height="24"/>
Binary files
CEM1/CEM1.xcodeproj/project.xcworkspace/xcuserdata/paul.xcuserdatad/
UserInterfaceState.xcuserstate and
CEM1.broke/CEM1.xcodeproj/project.xcworkspace/xcuserdata/paul.xcuserdatad/
UserInterfaceState.xcuserstate differ
【问题讨论】:
-
您能否附上它何时有效和何时无效的屏幕截图?请包括左侧栏,它显示不同视图的嵌套。
-
@Douglas 添加。我只是将“执行”按钮向下移动了几个像素,然后砰,错误。
-
您的 AppDelegate.m 是什么样的。这是一个全新的项目吗?除了故事板中的 VC 之外,您还更改了哪些内容。
-
@PeterFoti AppDelegate.m 是默认值。除了移动那个元素之外没有任何变化。
-
嗯,也许它开始工作的原因是由于重建,而不是对文件的更改。例如,如果你让它坏了,然后重新构建(或对另一个代码文件做一点小改动),它会重新开始工作吗?控制台中的错误表明 SDK 文件存在某种问题,这里有一些讨论:stackoverflow.com/questions/18036381/…
标签: ios iphone objective-c xcode