Accidentally removed xcassets file from Xcode project
Asked Answered
H

10

89

I wanted to remove a single folder from the image collection, however, I somehow managed to throw the entire xcassets file into the trash.

The normal 'Put back' method is not available, and simply dragging the deleted folder to Xcode yields an error:

"Images.xcassets" couldn't be copied to "ProjectPear" because an item with the same name already exists.
To save the file, either provide a different name, or move aside or delete the existing file, and try again.

I'm not sure where this collection is located within my Xcode project, as the navigator doesn't appear to show anything, and the command-line isn't dropping any hints either. I'm afraid to mess around with the project.pbxproj file, as it might jumble up a lot more than just my image collection.

Edit: Dragging the files back to Finder from Trash was successful, however, the Xcode navigator no longer recognises - or in this case, still doesn't recognise - the .xcassets file. I'm not sure whether to add something in the .pbxproj file.

Helms answered 7/12, 2013 at 15:53 Comment(1)
Just do one Command+Z (Undo). Saved me a lot of time :)Cateyed
C
228

I just did this myself and figured out how to quickly remedy the issue.

  1. Go to the project folder in the Finder. You should find that the folder Images.xcassets is still there.

  2. Move it to a separate location like to the Desktop or something. It still has all of the images and json files.

  3. Jump back to Xcode and create a new asset catalog for images.

    File > New > File... > Resource > Asset Catalog

    Name it Images.

  4. Quit Xcode and return to the Finder.

  5. Copy the folders from within your old Images.xcassets to the new Images.xcassets directory in your project.

  6. Launch Xcode and you're back in business!

Caraway answered 18/1, 2014 at 0:12 Comment(3)
Wow, I just deleted in my Assets.xcassets by accident and it still works, but this doesn't work so I can not add new images... I looked for the folder everywhere without successAmadoamador
@JesusAdolfoRodriguez, If you selected 'Move to Trash' when you accidentally deleted the asset catalog, you should be able to find the folder in the trash, unless of course you have already emptied the trash.Limit
Nice, worked for me. FYI for anyone who accidentally deleted this, I think it's because we tried to Cmd+Delete a file while inside the Assets folder. Instead, just press Delete to delete a fileAsare
R
25

If you didn't delete it completely, you can just drag it back in from Finder. (Right click your project and select 'Reveal in Finder' to check)

If it's gone completely you simply go Cmd+N -> Resource and select Asset Catalog. You then re-add your imagages via drag and drop or right-click and 'Add Files to ...' and should be good to go.

Hope that helps.

Relay answered 7/12, 2013 at 15:56 Comment(7)
Thanks, I've managed to drag everything back into the folder, but the navigator doesn't show the file. Is there a way to refresh the navigator (or something similar)?Helms
Well, Cmd+W and reopening has ever helped, but is worth a try. If you found the files in Finder though, just drag 'em back in and that should be itRelay
Well dragging the files back in went fine, it's just that the navigator doesn't recognise the .xcassets file anymore, as it's simply not visible. I can find it just fine in Finder, but the XCode navigator doesn't believe me.Helms
This might sound dumb, but for me restarting XCode and cleaning the project had done the job scaringly oftenRelay
At this moment, I'm a bit frustrated, so I welcome all answers. I've already tried rebuilding and cleaning the project in addition to restarting XCode; didn't help. :(Helms
According to this (#12454930) answer touching the directory might help. I really can't think of any other possibility other than deleting the xcasset and re-adding all images to a new one...Relay
Thanks for the suggestion, I've ran touch on the root project directory, the directory containing the .xcassets directory, the .xcassets directory itself, and the .xcodeproj directory, to no avail. I might just have to steel my resolve and start manually re-adding all images...Helms
N
6

Usually the file's reference is removed from Xcode, the original folder still exists in the project directory.

Right-click on your project folder, click "Add files to "your project"", find Assets in your project and click Add and you're done

enter image description here

Nissy answered 28/8, 2018 at 7:34 Comment(0)
C
3

Had the same problem today with Xcode Beta, I also couldn't create a new assets catalog for some reason. This was on a Watchkit Extension Project Here's what I did to solve it:

  1. In finder I copied an existing images.xcassets from another folder in my app to my desktop.
  2. Removed the content of this folder.
  3. Copied a deleted (single) Image Asset from my trash into the folder (on my desktop).
  4. Dragged the entire folder into my project in XCode.

That fixed it and everything went back to normal.

Chemistry answered 5/1, 2015 at 18:49 Comment(0)
L
3

If you have deleted it completely, then also these are the steps to get a new Images.xcassets:

  1. In the Navigator, click on the project.
  2. Go to : File>New>File> Add Asset Catalog> Name it.
  3. To add AppIcon and LaunchImage in it:

Go to the Project Setting:

  1. In General Tab, Slide down to App Icons and Launch Images
  2. Click option next to App Icons Source and select Use Asset Catalogs
  3. A window will pop up- select the name of your new Images.xcassets file and click on Migrate.
  4. Select Also add LaunchImage. Now you can see the new Images.xcassets in your project :).
Legation answered 24/4, 2016 at 17:54 Comment(0)
W
3

I accidentally deleted the reference to the asset folder so that it was no longer visible in Xcode. But when I checked from the finder, the asset folder was still in the project folder.

If you did that, just open the file menu in Xcode (from within your current project) and at the very top you can add (existing) files to that very project (back again) - it says "Add files to..."

Woodchuck answered 21/9, 2016 at 12:36 Comment(1)
or just drag-n-drop from FinderBisutun
J
1

Right click on anything in your project and click "Show in Finder". Search around in your project folder in the finder for a bit and you'll find it. I'm not on a Mac right now, or I'd give you a more direct path straight to the default .xcassets folder location.

And anyway, if you're not able to copy/create a "new" folder in that location because "an item with the same name already exists", then that means you didn't actually delete the folder. You just deleted your project's references to that folder in XCode. The folder on your hard drive didn't go anywhere.

Jabe answered 7/12, 2013 at 15:54 Comment(2)
Ah thanks, I found the folder, however it appears to be missing the majority of its files. Would you happen to know whether the rest is retrievable?Helms
I'm not sure. If it's something that was in your project but now isn't, then it's either somewhere in your project folder in Finder, or it may have been moved to the trash bin.Jabe
A
1

[I realize this is a very old question from you @Aeveus] All the answers talk about re-doing the adding assets again. Given you could not undo, the one step that is missing in your original description is this:

In your project.pbxproj file, there would have been references to assets as below:

45AE4E781C183FBA0051674F /* Assets.xcassets in Resources */ = {... 

Assuming you have source code control system (git, etc) you can revert to the original contents of your project.pbxproj file, or manually just re-add the deleted lines, and re-open the project file in xcode. You are all set now.

Autobahn answered 31/5, 2017 at 3:36 Comment(0)
C
1

I had the same problem. Open your XCode Project. Just go to File -> Add Files to...(your Project) -> Assets.xcassets and you are good to go!

Cornish answered 20/1, 2021 at 7:44 Comment(0)
S
0

I had same problem and I have followed the steps above from Jason, but finally i got Image.xassets in red color, so the in order to find my images I had to click in Image.xassets and then on the top right corner put the absolute path to my image.xassets folder and it fixed my problem. Hope it helps!

Suffragan answered 5/2, 2016 at 18:42 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.