从私有吊舱中加载资产目录中的图像

时间:2018-12-08 07:47:52

标签: ios cocoapods swift4.1

我创建了一个包含一些图像的私人吊舱,我已将这些图像放入资产目录,现在当我尝试访问它时,它不会加载到我安装此私人吊舱的主机应用中

这是我的私人podspec

getUserById(id: number): Promise<any> {
            const p = new Promise<string>((resolve, reject) =>  {
            if (id == this.authService.getAuthUserId()) {
                return resolve(this.authService.getAuthUser())
            }
            let options = new RequestOptions({ headers: this.headers })
            this.http.get(`${CONFIG.API_URL}/user/${id}`, options)
                .subscribe((response) => {
                    resolve(response.json())
                })

      });
      return p;

  }

并且我已将此资产目录添加到使用pod创建的Assets文件夹中

这在我的VC中位于我的私人窗格中s.resource_bundles = { 'myPod' => ['myPod/Assets/*.xcassets'] }

viewDidLoad

我还可以在主机应用程序的Resources文件夹内的pods部分中看到资产文件,而且我的捆绑包也不为零。

1 个答案:

答案 0 :(得分:1)

最后,我找到了解决方案,原来问题出在资源束中,我可以看到束中存在Assets.car,但图像仍未加载。

我认为使用png文件可能会起作用,并且我可以看到它已复制到捆绑包中,但是我无法使用图像名称访问它,事实证明我必须将此图像添加到图像名称myPod.bundle/imageName中,并且它起作用了,但仍然不是一个好的解决方案。

最后,有一个更干净,更简单的解决方案,就是在播客规范文件中使用resources而不是resource_bundles

s.resources = 'myPod/Assets/**'

然后进行pod安装,它将从您的资产目录中加载图像。