无法加载从带有标识符的包中的笔尖引用的“”图像
Posted
技术标签:
【中文标题】无法加载从带有标识符的包中的笔尖引用的“”图像【英文标题】:Could not load the "" image referenced from a nib in the bundle with identifier 【发布时间】:2015-07-03 05:14:15 【问题描述】:当我加载我的应用程序时,它会显示一条警告消息
“无法加载从包中的 nib 引用的“”图像 标识符"
我搜索并确认了我的所有图片。但它仍然显示警告。
【问题讨论】:
我已经完成了与此相关的所有解决方案,但仍然显示警告。请帮忙 我认为您将一个图像设置为 UIImageView 但该图像不存在于您的捆绑包中,请检查您的 xib 您是在标签栏还是选择模式下使用图像?您使用的是哪个 Xcode?span> 【参考方案1】:-
在项目导航器中选择您的图像。
打开文件检查器。
确保已选择目标。
【讨论】:
谢谢!!!!!!!!!做了一切,包括厨房水槽,但最后通过“* .xcodeproj”->“构建阶段”->“复制捆绑资源”逐个图像添加图像感谢xcode......浪费了4个小时关于这个小问题......在使用 makefile 之前从未有过......疯了......这正是人们讨厌基于 gui 的构建工具的原因......! 你是很棒的老板sssss 一个非常小的问题,如果不是为了这个答案,可能会浪费几个小时。谢谢... 帮助!即使我已经尝试了此页面上的所有“修复”,我仍然会遇到同样的错误。我的文件名为“landscape.png”,我使用的是 Xcode 10。 @Kevin 尝试从项目中删除landscape.png,然后重命名它。然后将其拖到项目中,并确保选中“如果需要复制项目”框。然后在项目中之后,确保选中“Target Membership”框,如上面的答案所示。【参考方案2】:Refactor to Storyboard
时我遇到了同样的问题。显然,资产目录不会传输图像参考。要修复,请参见下文:
您会注意到您的 ImageViews
引用为空。
1 - 点击 ImageView
2 转到实用工具栏,您会看到您的资产图片是
unknown
3 - 将其更改回您的图像资产
这应该可以解决您的错误。希望这会有所帮助!
【讨论】:
【参考方案3】:这个错误可能有很多原因。要解决此问题,您可以按照以下给定步骤操作:
-
进入Xcode的产品菜单,选择clean。
如果仍然出现错误,请从项目中删除图像,然后再次将图像添加到项目中。
将图像添加到项目中时,请确保您已在“添加到目标”中选择了项目名称。并且还启用“如果需要复制项目”。
请参考下图更好地理解:
【讨论】:
删除所有图像作为第二个选项可能听起来像大量的工作,它并不是一个解决方案。只需检查您的 imageViews,其中一个或多个会显示“未知图像”。【参考方案4】:只需在 Xcode 中选择图像,然后在右侧的文件检查器中的“目标成员”下确保选择了您的项目。 您可以做的另一件事是删除并重新插入您的图像,并确保选择“如果需要,复制项目”并选择“添加到目标”您的项目。
【讨论】:
对我来说,删除 den image.assets 中的整个文件夹很重要。不只是删除图像。奇怪的错误...【参考方案5】:-
在 Xcode 导航器中单击图像文件。
选择后,转到右侧栏(XCODE),它是
实用程序和文件检查器下,滚动到目标成员和
选择您的项目目标文件。
然后再次构建并运行该项目。
【讨论】:
【参考方案6】:Xcode9 beta2 发行说明:
对于使用 Xcode 9 构建的应用,在 ios 10 或更早版本中找不到资产目录中的 Jpeg 资产。用于访问图像的 API 调用,例如 UIImage.imageNamed:返回 nil。 (32524123)
解决方法:使用 png 资源或将应用测试限制在运行 iOS 11 或更高版本的设备上。
Xcode9 beta3 发布说明:
资产目录中的 Jpeg 资产可在 iOS 10 或更早版本中找到,用于使用 Xcode 9 构建的应用程序。(32524123)
【讨论】:
我在 Xcode 8.3.3 / iOS 10 上看到了这个问题。切换到 PNG 可以解决这个问题,但会增加大小。【参考方案7】:您可以尝试打开您的故事板或 nib 作为源代码,然后“查找”其中的图像名称,查看它是否存在但在您的项目中已经无效,可能您已经删除或更改了它的名称,现在它没有t 似乎有效。
【讨论】:
对于特定的查找:image="name"
或 image name="name"
。我刚刚对名为“first”的图像有此错误,并且情节提要代码中有很多firstAttribute
,..:p【参考方案8】:
对于那些在开发 cocoapod 时遇到此错误的人
我试图使用我的 pod 包中的图像,它位于情节提要中的 .xcassets 文件中。它会在情节提要中显示得很好,但是当我运行应用程序时它会崩溃,说它找不到资源。
我将我的 podspec 更改为包含 s.resources
以及 s.resource_bundles
s.resource_bundles =
'SDKRes' => ['SDK/Assets/*']
s.resources = ['SDK/Assets/*.xcassets']
然后它能够从情节提要中正确加载资源
【讨论】:
哇,这实际上解决了我刚开始在 iOS 15 设备上使用 iOS 15 SDK 的问题 - 没有从我拥有的自定义 pod 加载图像。对我来说,我使用以下内容:'PROJECT_NAME/Classes/**/*.storyboard,xib,xcassets,json,imageset,png,strings'【参考方案9】:我刚刚更新到 XCode 9,它开始给我这个问题。我在“资产”部分创建了一个新的图像集,并将我想要的图像添加到其中,然后使用自定义名称将它们重新添加到我的标签栏图像中,并且效果很好。希望这会有所帮助!
【讨论】:
【参考方案10】:问题 这发生在我身上似乎出乎意料地出现在标签栏控制器上,每个标签都有图标。故事板仍在显示我的图像图标,并且资产以预期的名称存在。
我的修复 在各自的视图控制器中选择标签栏图标,然后像第一次一样重新分配图像。
【讨论】:
【参考方案11】:这也发生在我身上。添加图像时我做的一切都是正确的,但由于某种原因它无法正常工作。添加后我必须再次单击图像,然后在“目标成员资格”下的右侧工具栏上,我注意到我的项目没有被选中,即使我在添加图像时选择了它。我在这里选择了它,一切正常。
【讨论】:
【参考方案12】:我收到了相同的错误消息(在 XCode 8 中),即使应用程序运行良好(在模拟器和设备上)。
我发现了问题:在我的故事板中,使用文档大纲窗格,我单击了每一个 UIImage,并查看了每个 UIImage 的属性检查器 - 在 Image View 部分 - 发现一个 UIImage 有一个空白文件名(而不是包含图像的 .png 文件名)。从下拉框中重新选择 .png 文件名修复了错误消息。
【讨论】:
谢谢,这对我有用。我浏览了所有 UIImageViews,发现一个显示图像但 Image 字段为空的。添加它,现在它工作正常。【参考方案13】:我在 xcode 9 中遇到了同样的问题。
只需勾选目标成员
【讨论】:
【参考方案14】:我花了几个小时来解决这个问题,但这个线程中的解决方案都没有奏效。最后,问题在于 Xcode 项目文件存储在 Google Drive 文件流中。一旦我将它移动到本地驱动器或 iCloud,它就可以正常工作。
【讨论】:
【参考方案15】:我的情况有点不同。我使用的是旧的IBDesignable
元素,它具有直接从情节提要设置图像的某些属性。由于该元素是旧的、隐藏的和未使用的,因此它的图像不存在于我的资产文件夹中。
现在 Xcode 将无法搜索此图像,因为它不再在项目中。但是,如果您在 finder 中搜索,在您的项目中,您会找到提到它的 XIB/Storyboard
。从那里您可以通过将 XIB 或 Storyboard 作为源代码打开并搜索来手动找到它。一旦找到,要么用新图像替换它们,要么删除未使用的元素。
【讨论】:
【参考方案16】:查看情节提要文件,您会在imageView
(如下面的屏幕截图所示)或UIButton
图像中看到一个问号图标。
只要纠正它,警告就会消失。
希望对你有帮助
【讨论】:
【参考方案17】:我的猜测是您在Project Setting->Build Phases->Copy Bundle Resources
中有一个图像,它失去了它的引用并以红色文本颜色出现。从那里删除此图像并重新添加。
这种情况经常发生,因为在添加到项目中重新定位图像文件后,图像被添加为参考而不是副本。
也许这可以解决您的问题。
【讨论】:
【参考方案18】:呃呃呃。我试图用上述所有解决方案来解决这个问题,但没有任何效果。最终奏效的是:
-
从您的项目中删除图像并选择移至废纸篓
清理项目
关闭并重新启动 XCode
重命名您的图像文件名,使其不同于以前的名称
向您的项目添加新图像
【讨论】:
【参考方案19】:我遇到了同样的问题,我通过删除文件夹并重新创建并过去所有图像然后再次添加参考来解决它。
【讨论】:
【参考方案20】:根据上面@hstdt 发布的内容,这让我觉得我应该检查我的图像是一个没有任何相关错误的文件类型。 (https://***.com/a/44558948/6804257)
我使用的是.gif
。我摆脱了那个图像,而是使用了.png
。现在可以了。
【讨论】:
【参考方案21】:有同样的问题,但这些答案都不适合我。相反,我重新启动了我正在使用的 mac 和 iPhone,然后一切又开始正常工作。 ?♂️
【讨论】:
【参考方案22】:我的情况不同。我有多个资产文件夹。所以我加错了。 只需删除并添加到右侧。
【讨论】:
【参考方案23】:在我的情况下,从目标中删除和添加资产文件夹解决了这个问题。
【讨论】:
【参考方案24】:Xib 为文件夹参考图像设置了错误的名称。例如,我有像 Menu->icon.png 这样的文件夹。 Xib 设置图像的“图标”名称。它应该是“菜单/图标”。因此,如果您使用文件夹引用图像,请不要在 xibs 中设置图像。
【讨论】:
以上是关于无法加载从带有标识符的包中的笔尖引用的“”图像的主要内容,如果未能解决你的问题,请参考以下文章
xcassets 中的所有图像,然后如何加载从我的包中的 nib 引用的图像