无法加载带有标识符的包中的nib引用的“”图像

时间:2015-07-03 05:14:15

标签: ios iphone

当我加载我的应用程序时,它会显示一条警告消息

  

“无法加载从包中的笔尖引用的”“图像   标识符“

我搜索并确认了我的所有图片。但它仍然显示出警告。

23 个答案:

答案 0 :(得分:38)

Refactor to Storyboard时遇到了同样的问题。显然,资产目录不会传输图像参考。要修复,请参阅以下内容:

您会注意到ImageViews在引用时为空。

Image Views

  

1 - 单击ImageView

Click the Image View

  

2转到Utilities栏,您将看到资产图像为unknown

Unknow Image

  

3 - 将其更改回您的图像资源

Choose your image again

这应该可以解决您的错误。希望这有帮助!

答案 1 :(得分:37)

  1. 在Project Navigator中选择您的图像。
  2. 打开文件检查器。
  3. 确保选择了目标。
  4. Add your image to the target

答案 2 :(得分:19)

此错误可能有很多原因。要解决此问题,您可以按照以下步骤进行操作:

  1. 转到Xcode的产品菜单,选择清洁
  2. 如果仍然出现错误,请从项目中删除图像,然后再将图像添加到项目中。
  3. 在将图像添加到项目中时,请确保在“添加到目标”中选择了项目名称。并启用“复制项目(如果需要)”。
  4. 请参阅下面的图片以便更好地理解:

    First Image convey that while uploading image the TestTests is enable under **Add to targets**

    Due to the above process we are getting error, as we can see in the console of Xcode

    Image 3rd show the correct way of uploading image/file into the project

    The final image 4th show the output without any error/warning

答案 3 :(得分:9)

只需在Xcode中选择图像,然后在右侧的文件检查器中选择“目标成员资格”,确保选择了项目。 您可以做的另一件事是删除并重新插入图像,并确保选中“如果需要复制项目”,并选择“添加到目标”项目。

答案 4 :(得分:7)

  1. 单击Xco​​de导航器中的图像文件。
  2. 选择后,转到右边的(XCODE)栏 实用程序和文件检查器,滚动到目标成员身份和 选择项目目标文件。
  3. 然后再次构建并运行该项目。

答案 5 :(得分:5)

Xcode9 beta2发行说明:

  

使用Xcode 9构建的应用程序在iOS 10或更早版本中找不到资产目录中的Jpeg资产。用于访问图像的API调用,例如UIImage.imageNamed:return nil。 (32524123)

     

解决方法:使用png资源或将应用测试限制为运行iOS 11或更高版本的设备。

Xcode9 beta3发行说明:

  

资产目录中的Jpeg资产可在iOS 10或更早版本中找到,用于使用Xcode 9构建的应用程序。(32524123)

答案 6 :(得分:2)

您可以尝试打开故事板或笔尖作为源代码,然后在其中“查找”图像名称,查看它是否存在但在项目中已经无效,可能您已删除或更改其名称,现在它没有似乎有效。

答案 7 :(得分:2)

我刚刚更新到XCode 9,它开始给我这个问题。我在Assets部分创建了一个新的图像集,并添加了我想要的图像,然后将它们重新添加到我的标签栏图像中,并使用自定义名称,它工作正常。希望这有帮助!

答案 8 :(得分:2)

<强>问题
这种情况发生在我看来,在标签栏控制器上突然显示每个标签的图标。故事板仍然显示我的图像图标,资产以预期的名称存在。

MY FIX
选择各自视图控制器中的标签栏图标,然后像第一次那样重新分配图像。

答案 9 :(得分:1)

这也发生在我身上。我在添加图像时做的一切正确但由于某种原因它无法正常工作。我必须在添加后再次点击图像,然后在&#34; Target Membership&#34;下的右侧工具栏上点击。我注意到我的项目没有被选中,即使我在添加图片时选择了它。我在这里选择它,一切正常。

答案 10 :(得分:1)

我收到了相同的错误消息(在XCode 8中),即使应用运行正常(在模拟器和设备上)。

我发现了问题:在我的故事板中,使用文档大纲窗格,我点击了每个UIImage,并查看每个UIImage的属性检查器 - 在“图像视图”部分 - 发现一个UIImage有一个空白文件名(而不是包含图像的.png文件名)。从下拉框中重新选择.png文件名修复了错误消息。

答案 11 :(得分:1)

我在xcode 9中遇到了同样的问题。

点击目标会员资格

enter image description here

答案 12 :(得分:1)

我花了好几个小时解决这个问题,但该线程中的所有解决方案均无效。最后,问题是Xcode项目文件存储在Google云端硬盘文件流中。一旦将其移至本地驱动器或iCloud,它就可以正常工作。

答案 13 :(得分:1)

在情节提要文件中,您会在imageView(如以下屏幕截图所示)或UIButton图像中的任何一个上看到一个问号图标。
只需更正它,警告就会消失。

invalid image in imageView

希望这会有所帮助

答案 14 :(得分:1)

对于那些在开发cocoapod时遇到此错误的人

我正在尝试使用情节提要中pod包中的图像,也就是.xcassets文件中的图像。它将在情节提要中很好地显示,但是当我运行该应用程序时,它会崩溃,提示它找不到资源。

我将podspec更改为包括s.resourcess.resource_bundles

s.resource_bundles = {
  'SDKRes' => ['SDK/Assets/*']
}

s.resources = ['SDK/Assets/*.{xcassets}']

然后它能够​​从情节提要中正确加载资源

答案 15 :(得分:0)

Urughhh。我尝试使用上述所有解决方案解决这个问题,但没有任何效果。最终起作用的是:

  1. 从项目中删除图像,然后选择移至废纸篓
  2. 清理项目
  3. 关闭并重新启动XCode
  4. 重命名您的图片文件名,使之不是以前的名称
  5. 向项目中添加新图片

答案 16 :(得分:0)

我的猜测是你在Project Setting->Build Phases->Copy Bundle Resources中有一张图片丢失了它的参考,并以红色文字颜色显示。从那里删除此图像并重新添加。

这种情况通常是由于在添加到项目中之后重新定位图像文件,其中图像被添加为参考而不是副本。

可能这可以解决您的问题。

答案 17 :(得分:0)

我遇到了同样的问题,我通过删除文件夹解决它并再次创建并过去所有图像然后再次添加引用。

答案 18 :(得分:0)

基于@hstdt上面发布的内容,它让我觉得我应该检查我的图片是一个没有任何相关错误的文件类型。 (https://stackoverflow.com/a/44558948/6804257

我使用的是.gif。我摆脱了那个图像,而是使用了.png。现在它有效。

答案 19 :(得分:0)

遇到了同样的问题,这些答案对我都不起作用。相反,我重新启动了正在使用的Mac和iPhone,然后一切又开始正常运行。 ‍♂️

答案 20 :(得分:0)

我的情况有些不同。我使用的是旧的IBDesingable元素,该元素具有直接从情节提要中设置图像的某些属性。由于该元素很旧,被隐藏和未使用,因此它没有出现在我的资源文件夹中。

现在Xcode将无法搜索该图像,因为它不再在项目中。但是,如果您在项目内部的查找器中搜索,则会发现其中提到的XIB/Storyboard。从那里您可以通过打开XIB或Storyboard作为源代码并进行搜索来手动找到它。一旦找到,要么用新图像替换它们,要么删除未使用的元素。

答案 21 :(得分:0)

我的情况有所不同。我还有一个资产文件夹。所以我加错了。 只需删除并添加到右侧即可。

答案 22 :(得分:0)

就我而言,从目标中删除并添加资产文件夹解决了这个问题。