Ios Swift类未从情节提要中正确加载

Ios Swift类未从情节提要中正确加载,ios,swift,xcode,uistoryboard,xcode-storyboard,Ios,Swift,Xcode,Uistoryboard,Xcode Storyboard,我有一个有几个目标和几个配置的项目:比如说Target1/Target2和Debug/Alpha/Release配置。我还有一个带有一些自定义类的故事板:比如说自定义类ViewController,它是我故事板中的初始VC。我想在代码中从情节提要加载视图控制器,如下所示: let vc = UIStoryboard(name: "Main", bundle: nil).instantiateInitialViewController() as! ViewController ViewContr

我有一个有几个目标和几个配置的项目:比如说
Target1/Target2
Debug/Alpha/Release
配置。我还有一个带有一些自定义类的故事板:比如说自定义类
ViewController
,它是我故事板中的初始VC。我想在代码中从情节提要加载视图控制器,如下所示:

let vc = UIStoryboard(name: "Main", bundle: nil).instantiateInitialViewController() as! ViewController
ViewController是这两个目标的成员。当我在
Target1
上运行上述代码时,两种配置上的一切都正常。当我在
Target2
上运行它时,它在
Debug
上正常,但在
Alpha
上失败,并显示以下消息:

Interface Builder文件中未知的类ViewController。无法将“UIViewController”(0x10fbc71d0)类型的值强制转换为“Target2.ViewController”(0x10b29cb88)

(如果故事板XML中没有
customModule

接口生成器文件中的未知类TtC6Target19ViewController。无法将“UIViewController”(0x1083161d0)类型的值强制转换为“Target2.ViewController”(0x103e6b840)

(如果序列图像板XML中的
customModule
与当前目标不匹配)

最终导致应用程序崩溃

从情节提要加载类名时,似乎无法向类名添加正确的命名空间

在故事板XML中有:

<viewController id="BYZ-38-t0r" customClass="ViewController" customModuleProvider="target" sceneMemberID="viewController">

如果我在序列图像板检查器中或直接在XML中为此视图控制器(customModule=“Target2”)指定模块,则在
Target2
上,这两种配置都能正常工作,但在
Target1
上显然失败

在两个目标的生成设置中:Interface Builder序列图像板编译器-选项->默认模块继承自
$(产品模块名称)
,该模块继承自
$(产品名称:c99extidentifier)
,该模块最终继承
$(目标名称)
。如果我在运行时打印目标名称,当我打开
Target2+Alpha
(这不起作用),我会看到正确的目标名称(
Target2
)。这意味着在加载模块名时,模块名应该作为名称空间正确添加到ViewController中

当我用所描述的配置集创建一个示例项目时,一切都正常,这意味着在实际项目中我的
Alpha
-配置中有一些错误,但它几乎是
Debug
的精确副本(不包括所有路径),可以正常工作


经过两天的拨弄和更改所有这些设置,我已经没有想法了,所以如果有人有想法,请填写免费分享。我将不胜感激。

您能与本期杂志分享一个简单的项目吗?schemes中可能有些不同?@Bimawa正如我在尝试使用此配置创建示例项目时提到的那样,我无法重现此问题。您是否尝试过此
让viewController=UIStoryboard(名称:“Main”,捆绑包:nil)。InstanceViewController WithiIdentifier(“viewController”)作为ViewController
您在配置选项卡中有什么?你的阿尔法配置必须有目标。@dahiya_男孩是的,同样的结果