为了在我的应用程序和扩展之间共享代码和资源,我在我的项目中嵌入了一个Cocoa Touch Framework,这个框架包含一些资源,比如图像和xib文件。
我的问题是:我如何从主要应用程序和扩展访问这些资源?
我曾经使用过这样的方法:iOS 8 Extension: how to use xib inside Cocoa Touch Framework in extensions?
但这将使复制到应用程序包和扩展包中的所有资源,这不是一个好的重复。
有更好的办法吗?
更新:
现在,我的主要应用程序可以使用这样的代码来访问框架中的资源:
+(NSBundle*)frameworkBundle
{
NSString *frameworkDirPath = [[NSBundle mainBundle] privateFrameworksPath];
NSString *frameworkBundlePath = [frameworkDirPath stringByAppendingPathComponent:@"MyFramework.framework"];
NSBundle *frameworkBundle = [NSBundle bundleWithPath:frameworkBundlePath];
return frameworkBundle;
}但这不适用于扩展。
发布于 2014-10-21 14:17:14
试试这个:
NSBundle *frameworkBundle = [NSBundle bundleForClass:[AnyClassFromFramework class]];发布于 2015-06-11 18:14:44
这对我起了作用:
NSBundle * frameworkBundle = [NSBundle bundleWithIdentifier:@"<framework-bundle-identifier>"];发布于 2015-09-01 03:39:38
对于,可以考虑使用:
let bundle = NSBundle(forClass: self.dynamicType)https://stackoverflow.com/questions/26447209
复制相似问题