我有一个适用于iPad和iPhone的通用XCode项目(ObjC),其中包含一个包含故事板的子项目。 子项目是一个已添加到主项目的静态库。此子项目中包含一个包含直言不讳的故事板的包。
当我点击应用程序的某个按钮时,需要加载故事板;
[UIStoryboard storyboardWithName:@"UIControls.bundle/Config" bundle:nil];
对于iPhone(设备和模拟器)来说效果非常好,但每当我尝试运行iPad(设备或模拟器)项目时,我都会收到以下错误;
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'There doesn't seem to be a valid compiled storyboard at path...
关于什么?该项目是一个通用项目,为什么iPad不能找到故事板?
答案 0 :(得分:16)
回答我自己的问题;
当捆绑目标不是通用时,会出现此错误。 因此,请确保捆绑包的构建设置中的目标设备系列设置为iPhone和iPad。
答案 1 :(得分:3)
刚刚将项目从Universal目标切换到iPad,然后将部署目标从iOS 9.0切换到iOS 7.1。
解决方案是禁用'使用大小等级'在故事板上,只保留iPad的尺寸。
要进入此复选框,请在项目导航器中打开故事板,然后选择然后显示文件检查器(第一个图标)并向下滚动到Interface Builder文档标题。
答案 2 :(得分:2)
我正在使用自定义Cocoapod的故事板,并且它一直在崩溃
似乎并不是一个有效的编译故事板"在路径...
在受影响的故事板中,在Interface Builder Document下,我切换了" Builds for"价值来自" iOS 7.0或更高版本"到"项目部署目标" (这是9.0),这对我有用。
答案 3 :(得分:0)
对不起我之前的评论 我不知道为什么它不起作用,但目前我通过以下步骤解决了这个问题:
从现在起,故事板就像以前一样工作!
答案 4 :(得分:0)
我试图解决这个问题2天没有希望,直到我发现它也没有打开sqlite数据库文件,之后在此数据库失败后一切都被破坏了。那是我的情况。所有这些都是内存问题,即使ARC在完成nil之后设置了数组或字典;
答案 5 :(得分:0)
在我们的例子中,我们运行了一个shell脚本,它执行了一个XCode的命令行工具ibtool
,
ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target 6.0 --output-format human-readable-text --compile ./Build/Release-iphonesimulator/TestApp.app/TestStoryboard.storyboardc ./Resources/TestStoryboard.storyboard --sdk /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator9.2.sdk
虽然似乎运行没有错误,但它实际上产生了一个空的storyboardc
目录。将最小部署目标升级到8.0会生成一个正确构造的storyboardc
,其中包含一个Info.plist
文件。当IBTool失败/产生一个空目录时,我肯定认为它实际上应该失败,并停止编译,因为否则一切看起来都是正确设置和纠正,实际上并非如此。
所以是的,我们的解决方案是升级我们应用的最低部署目标。
答案 6 :(得分:0)
答案 7 :(得分:0)
对我而言,解决方案是:
我使用此代码加载新的视图控制器 - [UIStoryboard storyboardWithName:@“UIViewController”bundle:nil];
首先我试过 - [UIStoryboard storyboardWithName:@“UIViewController”bundle:[NSBundle mainBandle]];
但没有幸运,最后我将此代码更改为:
[self performSegueWithIdentifier:@“Segue”sender:self];
它有所帮助,也许它可以帮助某人。
答案 8 :(得分:0)
有同样的问题。解决了购买时在<form action="#">
<!--
Don't use HTML tags because of the way they get formatted on
the page (i.e. <h1>, <h2>, <h3>, etc.). Use tags because of the
meaning they convey about the data. Then, style them any way you
want with CSS.
-->
<p class="questionTitle">Enter Name</p>
<input id="name" type="text" name="name">
<input id="submit" type="button" value="Enter">
</form>
<section class="results hidden">
<h1>Swab barque interloper chantey doubloon starboard</h1>
<span></span>
</section>
中添加libc++.tbd
的问题。