0

我创建了框架,当我加载 NibNamed 时它崩溃了。

实际上并没有创建 bundle 文件,并且所有的图像和 nib 文件都包含在框架中。

图片

-(Qwerty *)getNibData
{
    NSBundle *frameworkBundle = [NSBundle bundleForClass:[self class]];
    NSArray *nib = [frameworkBundle loadNibNamed:@"Qwerty" owner:self options:nil];

    return [nib objectAtIndex:0];
}

它在调试模式下工作,但在发布时不起作用。

你能告诉我从框架加载 nib 文件的正确方法吗?

而且xcode非常难;

如果发生错误

int main(int argc, char * argv[]) {
    @autoreleasepool {
        return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
    }
}

这显示了位置并且不返回错误代码。

我从这里得到什么信息?

- - - - - - - - - - - - -编辑 - - - - - - - - - - - - ----------

图片

4

1 回答 1

0

创建一个带有框架 id 的包来加载 nib 文件:

NSBundle *frameworkBundle = [NSBundle bundleWithIdentifier:@"com.your.framework.id"];

if ([frameworkBundle pathForResource:@"Qwerty" ofType:@"nib"] != nil) {
     NSArray *nib = [frameworkBundle loadNibNamed:@"Qwerty" owner:self options:nil];
     //......
}
于 2017-11-07T09:02:46.657 回答