gpt4 book ai didi

objective-c - IOS Framework trouble load 加载嵌入式资源plist文件

转载 作者:搜寻专家 更新时间:2023-10-30 19:54:52 25 4
gpt4 key购买 nike

在我的 Iphone 应用程序中,我之前通过执行以下代码将标准 plist 文件加载到字典中。最近我将源代码和 plist 文件复制到一个新的包中,我将其编译成一个框架并在原始应用程序中使用。所有代码都在运行,但是 plist 加载代码找不到 settings.plist 文件了。查看路径,它似乎仍在查找主应用程序的文件。

我是否需要以某种方式更新此包以读取框架嵌入式资源?

NSBundle *bundle = [NSBundle mainBundle];
NSString *path = [[bundle resourcePath] stringByAppendingPathComponent:@"settings.plist"];
_plistDictionary = [[NSDictionary alloc] initWithContentsOfFile:path];

最佳答案

如果我没理解错的话,是的。

+[NSBundle mainBundle] 返回对应于当前应用程序可执行文件所在目录的 NSBundle 对象。所以简而言之,它将返回主应用程序的包,这不是你想要的(你想要一个框架的包,在你的应用程序的包中)。

由于您想要为您的框架获取包,如果加载该 plist 的代码驻留在框架本身中,您可以执行如下操作:

NSBundle* bundle = [NSBundle bundleForClass:[self class]];

然后返回框架的包。或者更具体地说,该类(此代码)所在的包。

关于objective-c - IOS Framework trouble load 加载嵌入式资源plist文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22872088/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com