Could not load the image referenced from a nib in

2019-03-18 00:07发布

问题:

I had got an iPad application.The ViewContrtoller.xib has got an UIImageView in it. The UIImage of the UIImageView is set through Interface Builder. When I run the application in simulator everything is fine. But when I am trying to run it in iPad the UIImage is not loaded. The message that I am getting is:

HexaPuzzle1.0[3259:207] Could not load the "start.png" image referenced from a nib in the bundle with identifier "com.yourcompany.HexaPuzzle1-0" 2010-12-17 10:57:27.221 HexaPuzzle1.0[3259:207] HexaPuzzle loaded

Any help would be appreciated and will be a great help for me.

回答1:

The issue has been rectified. Problem was with the image format. When the image has been edited and saved as PNG-24 everything goes fine. The application now runs smoothly in simulator and device.

Thanks for all friends who suggested a solution and tried to helped me.

Regards, Rupesh R Menon



回答2:

I know it's very late, but this is a solution that also works in Xcode 5, and therefore likely to be useful to people who have this problem in the future.

I have seen a lot of questions like this on the web but none of them seems to have one clear answer. This is, as far as I know, the solution for this problem:

  • Go to the image in Xcode (no need to re-add or re-generate the image)
  • click "show the file inspector"
  • Make sure the checkbox in the category "Target Membership" is checked. the test check box does not have to be checked to make your app load the image.

The target membership tab looks like this:

if this is already the case, you are working with a broken or damaged file. to rule this out, check if another app (like photoshop) can open your image.

This should do it, hope it helps!



回答3:

When dragging your start.png file into your project, did you check this option?



回答4:

I was getting this error in the simulator after upgrading to Xcode 7 / iOS 9 and opening an existing project. The image was present and named correctly, within an XCAssets package.

Turns out the problem was with a parameter within the XCAssets package.

Changing Render As from Default to Original Image solved the problem:



回答5:

I've had the same problem before. The png file format is not right. Try re-generate the png image file and the problem will be solved.



回答6:

None of the above worked for me, and the message I got was "could not load the "(null)" image referenced... which means I could not look for the image. Very frustrating. In the end it became a trial and error exercise of going through every xib and storyboard looking for potential conflicts. I finally found it - I had specified a "Selected Image" for a tab bar item which was not needed. As soon as I got rid of that the problem went away.



回答7:

None of these things work for me. I created a new folder in the projects where I placed the pictures. That worked for me.



回答8:

This problem was fixed when I changed "add folder reference..." to "add group..." when I import the images to my project. I'd prefer to have folders with live updating, but at least it works now.



回答9:

Had an image on a XIB (which is replaced by the correct one in code). After finishing this XIB, I renamed the images. So XIB was now referencing a non-existent image.



回答10:

There is also another potential cause of this problem: If you upgraded to XCode 5 and use both the image asset catalog and "normal" images copied to your project (like you did prior XCode 5). If you then have images with identical names (e.g. "dog.png" and a image set called "dog") it might work in your storyboard and in the simulator, but you'll get this message when run on a real device (where the image will not be shown).



回答11:

Try moving the images directly to the Resources directory (not in a sub folder)



回答12:

Make sure the resource isn't too big to be handle.



回答13:

If you get the error message with the name of the picture, you can search it inside your project and xCode will display immediately the UIImageView with the wrong picture inside UIStoryboard:



回答14:

Make sure it is included in your Target Membership

  1. Select your "Images.xcassets" file in the file Inspector
  2. Open File Inspector (cmd + opt + 1)
  3. Select your target membership (Usually 1st line)


回答15:

I had the same problem, but the cause was very different. I was using image sets in the Asset Catalog that varied based on the device idiom: iPad or iPhone.

The framework target they were being added to had been accidentally marked as as having a deployment device type of iPhone, so the images weren't showing up on iPads - they weren't even being copied into the .car file in the framework.

Setting the deployment device type to Universal, as it should have been, solved the problem.



回答16:

For some reason I was getting error until I put the image in the Assets.xcassets