bundleForClass 未返回框架包 iOS

bundleForClass not returning framework bundle iOS

使用 bundleForClass 检索我定义了 class.

的框架包
NSBundle *bundle = [NSBundle **bundleForClass**: [self class]]; // Class in framework

NSString *readtext = [bundle **pathForResource**:@"Test" ofType:@"rtf"];

获取应用程序的 appbundle(我正在使用我的框架)而不是框架包。

如何获取框架包路径并阅读框架资源。

您可以使用框架的 Bundle Identifier 加载 NSBundle:

[NSBundle bundleWithIdentifier:YOUR_FRAMEWORK_BUNDLE_IDENTIFIRE];

如果框架中有资源包,那么您可以通过以下方式访问资源:

NSBundle *bundle = [NSBundle bundleForClass:[YOUR_CLASS_NAME class]];
NSURL *url = [bundle URLForResource:RESOURCE_BUNDLE_NAME withExtension:@"bundle"];
NSBundle *resourceBundle = [NSBundle bundleWithURL:url];
UIImage* infoImage = [UIImage imageWithContentsOfFile:[resourceBundle pathForResource:@"info" ofType:@"png"]];