【问题标题】:iOS - access application bundle's resources from inside a frameworkiOS - 从框架内访问应用程序包的资源
【发布时间】:2018-06-19 10:24:39
【问题描述】:

GIVEN:我正在实现一个框架,该框架需要首先搜索应用程序包中的所有 JSON 文件;如果什么都没有,那么我从我的框架内加载 JSON 文件

我已经尝试使用UIApplication.self 作为参数的Bundle api,如bundleForClass:,但仍然访问我自己的框架包。有人可以建议一种方法来满足我的需求吗?

【问题讨论】:

  • 好的,我解决了...只需使用Bundle.main,您就可以访问应用程序包。在此之前,我只是想在框架中时,它指的是框架包,因为苹果文档说:For a running app, the main bundle offers access to the app’s bundle directory. For code running in a framework, the main bundle offers access to the framework’s bundle directory. 谁能解释在框架中运行的代码到底是什么?它不是我编写并打包为动态框架的吗?

标签: ios json iphone xcode


【解决方案1】:

基本上,您应该添加选项以传递所需的捆绑包以作为框架的参数进行搜索。您也可以使用下面问题中描述的捆绑包唯一标识符,但是它会将您的框架紧密绑定到应用程序,我猜这不是必需的。

你可以在这里参考类似的问题SO question

我遇到的另一个想法是列出您可能使用的所有可用捆绑包或框架并过滤您所需的捆绑包:Check Apple's ref page

但我想选项 1 指定作为参数搜索所需的捆绑包会更方便。

func hasRequiredFiles(in bundle: Bundle) {
    // ... Your implementation
}

用法是从应用程序中使用Bundle.main 调用函数。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-01-17
    • 2021-02-18
    • 2014-12-31
    • 2023-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多