Sim*_*egn 9 xcode storyboard ios
它可能是Xcode中的beta-prerelease-bug,但其他人是否经历过同样的事情?
我清理项目 - 运行它 - 一切都很好.
然后我停止项目 - 再次运行 - 只是一个黑屏和这个日志:
2015-08-03 23:22:30.743 XXXXXXX[12221:2892479] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Could not find a storyboard named 'MainStoryboard' in bundle NSBundle </private/var/mobile/Containers/Bundle/Application/920917A0-44DF-4B5F-91A8-BB669DDF5F0D/XXXXXXXX.app> (loaded)'
*** First throw call stack:
(0x1822542d8 0x193f200e4 0x18728e810 0x186f59edc 0x186f59074 0x186f5770c 0x18aa893c8 0x18220c27c 0x18220b384 0x1822099a8 0x1821352d4 0x186d383d0 0x186d32f40 0x1001ac504 0x1945caa08)
libc++abi.dylib: terminating with uncaught exception of type NSException
Run Code Online (Sandbox Code Playgroud)
然后我可以清理它,并做同样的事情......
是的,故事板正确添加.它也在info.plist中正确添加,我也尝试删除它并再次添加它.结果相同.
更新我
同样的事情发生在最新的Xcode Beta 5中.
更新II
这是我第二次在模拟器中运行它时的日志.
2015-08-10 12:09:19.552 XXXXX[32346:418981] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Could not find a storyboard named 'MainStoryboard' in bundle NSBundle </Users/johndoe/Library/Developer/CoreSimulator/Devices/9685DA45-378D-48AC-BF8C-0DD2EF24C9B3/data/Containers/Bundle/Application/17882AD9-E024-41A1-9E9B-9DC2C2845EA5/XXXXX.app> (loaded)'
*** First throw call stack:
(
0 CoreFoundation 0x00000001116e69b5 __exceptionPreprocess + 165
1 libobjc.A.dylib 0x0000000112927deb objc_exception_throw + 48
2 UIKit 0x000000010f4564f7 -[UIStoryboard name] + 0
3 UIKit 0x000000010ed9b310 -[UIApplication _loadMainStoryboardFileNamed:bundle:] + 58
4 UIKit 0x000000010ed9b664 -[UIApplication _loadMainInterfaceFile] + 260
5 UIKit 0x000000010ed99fc9 -[UIApplication _runWithMainScene:transitionContext:completion:] + 1383
6 UIKit 0x000000010ed97390 -[UIApplication workspaceDidEndTransaction:] + 188
7 FrontBoardServices 0x000000011347b7ac -[FBSSerialQueue _performNext] + 192
8 FrontBoardServices 0x000000011347bb1a -[FBSSerialQueue _performNextFromRunLoopSource] + 45
9 CoreFoundation 0x0000000111612b21 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
10 CoreFoundation 0x0000000111608a4c __CFRunLoopDoSources0 + 556
11 CoreFoundation 0x0000000111607f03 __CFRunLoopRun + 867
12 CoreFoundation 0x0000000111607918 CFRunLoopRunSpecific + 488
13 UIKit 0x000000010ed96d2d -[UIApplication _run] + 402
14 UIKit 0x000000010ed9b99e UIApplicationMain + 171
15 Teazr 0x000000010e78912f main + 111
16 libdyld.dylib 0x0000000112ecc92d start + 1
)
libc++abi.dylib: terminating with uncaught exception of type NSException
(lldb)
Run Code Online (Sandbox Code Playgroud)
它可能是新SDK中的某种Facebook错误吗?
MainStoryboard.storyboard从崩溃日志来看,很明显Xcode在App的Bundle中找不到。我建议您采取以下步骤来解决问题。
这涉及打开 Finder,转到项目目录,并确认它MainStoryboard.storyboard实际上在项目文件夹中存在,并且可读/可写。
如果故事板不存在,请跳至步骤 3。否则...
MainStoryboard.storyboard2:从 Xcode 项目中删除对的引用。在左侧的文件列表中,单击MainStoryboard.storyboard将其选中。然后,点击[命令]+[删除]。
在询问您是否要将文件移至废纸篓或仅删除引用的警告框中,单击删除引用。
打开对话框将故事板添加回项目,如下所示:
File->Add Files to Project...
导航到项目的文件夹并MainStoryboard.storyboard重新添加。
只需清理项目,构建它,然后再次尝试运行它。两次。
你没听错。从 Mac 上删除 Xcode 及其库中的所有文件,然后重新安装。此问题可能是由于安装错误引起的,因此您可能需要卸载它并重新安装。
该代码找不到MainStoryboard.storyboard,因为它似乎不存在于应用程序的捆绑包中。对于那些对捆绑没有了解的人来说,它也被称为“二进制”。Bundle 是开发人员放置应用程序需要本地访问的资源的地方。在构建时,Xcode(应该)将所有文件放入 Bundle 中并使其成为 Bundle。
删除引用并将其重新添加回来应该让它始终将其添加到捆绑包中,而不仅仅是在每一次运行时。
如果MainStoryboard.storyboard不可读,或者不可写,Xcode 不会将其包含在 Bundle 中。
为什么它只能在 50% 的时间内工作,这对我来说很奇怪,因为 Xcode 6 每次都会运行。创建一个全新的项目并运行它不会导致编译器出现错误,因为每个新项目都是从模板创建的。
如果 Xcode 没有执行 Apple 开发人员放入模板中的代码(例如 SpriteKit 的默认“Hello world!”消息),那么 Xcode 就会出现问题。卸载它并重新安装。
要找出出现此问题的原因,需要更多信息。也许我们可以向 Apple 展示这一点,他们也许能够通过 Xcode 7 GM 修复此信息!
| 归档时间: |
|
| 查看次数: |
452 次 |
| 最近记录: |