1

我用 NSObject 类创建了 sample.framework 项目。所以它在每个项目中都可以正常工作,但是当我要在 sample.framework 中添加带有 .XIB 的 ViewController 类并尝试在任何项目中使用相同的框架时,它会说

由于未捕获的异常“NSInternalInconsistencyException”而终止应用程序,原因:“无法在包中加载 NIB:“NSBundle(已加载)”,名称为“SampleViewController”

请让我们知道我可以在 sample.framework 中使用带有 XIB 的 ViewController 类吗???

先感谢您。

4

1 回答 1

0

静态库不提供资源包,仅提供代码。您需要手动将共享 xib 添加到应用程序目标Copy Bundle Resources阶段,或者您可以将单个共享 .bundle 与所有资源一起使用;如果是后者,您必须先获取捆绑包,然后从那里读取笔尖:

NSString * path = [[NSBundle mainBundle] pathForResource:@"mybundle" ofType:@"bundle"];
NSBundle * bndl = [NSBundle bundleWithPath:path];
NSArray *nibs = [bndl loadNibNamed:@"mynib.xib" owner:self options:nil];

或者

[[Myviewcontroller alloc] initWithNibName:@"mynib.xib" bundle:bndl];

Copy Bundle Resources如果您决定使用捆绑包,请不要忘记将 .bundle 文件添加到应用程序的目标阶段。

于 2013-01-08T12:52:35.473 回答