无法从 pod 库访问捆绑包

Posted

技术标签:

【中文标题】无法从 pod 库访问捆绑包【英文标题】:Can't access bundle from pod library 【发布时间】:2017-04-28 13:10:50 【问题描述】:

我尝试在我的项目中使用PEPhotoCropLibrary。我使用 cocoapods 安装程序添加了它。但是当我尝试在我的代码中使用它时,我得到了错误:

由于未捕获的异常而终止应用 'NSInvalidArgumentException',原因:'-[NSBundle initWithURL:]: nil URL 参数'

这发生在这里:

NSURL *bundleURL = [[NSBundle mainBundle] URLForResource:@"PEPhotoCropEditor" withExtension:@"bundle"];

然后我尝试在我的代码中访问PEPhotoCropEditor.bundle

let url = Bundle.main.url(forResource: "PEPhotoCropEditor", withExtension: "bundle")

结果得到nil。项目结构在这里:

这里出了什么问题,为什么我无法访问库包?

【问题讨论】:

什么 NSURL *bundleURL = [[NSBundle mainBundle] URLForResource:@"PEPhotoCropEditor" withExtension:@"bundle"]; ? PEPhotoCropEditor 库中的代码。 这是你的图书馆吗:github.com/kishikawakatsumi/PEPhotoCropEditor 是的,我正在尝试使用这个库。 【参考方案1】:

请更改:

NSURL *bundleURL = [[NSBundle mainBundle] URLForResource:@"PEPhotoCropEditor" withExtension:@"bundle"];

到:

NSURL *bundleURL = [[NSBundle bundleForClass:[self class]] URLForResource:@"PEPhotoCropEditor" withExtension:@"bundle"];

【讨论】:

以上是关于无法从 pod 库访问捆绑包的主要内容,如果未能解决你的问题,请参考以下文章

访问捆绑包上的资源[重复]

可能的捆绑包问题 - 无法使用 nil 模型创建 NSPersistentStoreCoordinator

无法从静态库和包中加载子视图类和 xib

公开通过 webpack 捆绑的 javascript 全局变量

由于捆绑包 ID,iPhone 应用程序更新无法验证

使用来自 Xcode 4 子项目的静态库和捆绑产品