首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >iOS 8:从Cocoa框架获取资源

iOS 8:从Cocoa框架获取资源
EN

Stack Overflow用户
提问于 2014-10-19 04:11:09
回答 3查看 3.9K关注 0票数 5

为了在我的应用程序和扩展之间共享代码和资源,我在我的项目中嵌入了一个Cocoa Touch Framework,这个框架包含一些资源,比如图像和xib文件。

我的问题是:我如何从主要应用程序和扩展访问这些资源?

我曾经使用过这样的方法:iOS 8 Extension: how to use xib inside Cocoa Touch Framework in extensions?

但这将使复制到应用程序包和扩展包中的所有资源,这不是一个好的重复。

有更好的办法吗?

更新:

现在,我的主要应用程序可以使用这样的代码来访问框架中的资源:

代码语言:javascript
复制
+(NSBundle*)frameworkBundle
{
    NSString *frameworkDirPath = [[NSBundle mainBundle] privateFrameworksPath];
    NSString *frameworkBundlePath = [frameworkDirPath stringByAppendingPathComponent:@"MyFramework.framework"];
    NSBundle *frameworkBundle = [NSBundle bundleWithPath:frameworkBundlePath];

    return frameworkBundle;
}

但这不适用于扩展。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-10-21 14:17:14

试试这个:

代码语言:javascript
复制
NSBundle *frameworkBundle = [NSBundle bundleForClass:[AnyClassFromFramework class]];
票数 15
EN

Stack Overflow用户

发布于 2015-06-11 18:14:44

这对我起了作用:

代码语言:javascript
复制
NSBundle * frameworkBundle = [NSBundle bundleWithIdentifier:@"<framework-bundle-identifier>"];
票数 5
EN

Stack Overflow用户

发布于 2015-09-01 03:39:38

对于,可以考虑使用:

代码语言:javascript
复制
let bundle = NSBundle(forClass: self.dynamicType)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26447209

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档