从 Xcode 项目中意外删除了 xcassets 文件

Posted

技术标签:

【中文标题】从 Xcode 项目中意外删除了 xcassets 文件【英文标题】:Accidentally removed xcassets file from Xcode project 【发布时间】:2013-12-24 22:47:48 【问题描述】:

我想从图像集中删除一个文件夹,但不知何故我设法将整个 xcassets 文件扔进了垃圾箱。

普通的'Put back'方法是不可用的,直接把删除的文件夹拖到Xcode就会报错:

无法将“Images.xcassets”复制到“ProjectPear”,因为已存在同名项目。 要保存文件,请提供不同的名称,或者移到一边或 删除现有文件,然后重试。

我不确定这个集合在我的 Xcode 项目中的位置,因为导航器似乎没有显示任何内容,命令行也没有给出任何提示。我害怕弄乱project.pbxproj 文件,因为它可能会比我的图片集更混乱。

编辑: 将文件从垃圾箱拖回 Finder 是成功的,但是,Xcode 导航器不再识别 - 或者在这种情况下,仍然无法识别 - .xcassets 文件。我不确定是否要在 .pbxproj 文件中添加一些内容。

【问题讨论】:

只需执行一次 Command+Z(撤消)。节省了我很多时间:) 【参考方案1】:

我自己就是这样做的,并想出了如何快速解决问题。

    转到 Finder 中的项目文件夹。你应该发现 Images.xcassets 文件夹仍然存在。

    将其移动到单独的位置,例如 桌面 或其他位置。它 仍然有所有的图像和 json 文件。

    跳回 Xcode 并为图像创建一个新的资产目录。

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

    将其命名为图片

    退出 Xcode 并返回 Finder。

    Images.xcassets中的文件夹复制到 Images.xcassets 目录。

    启动 Xcode,您就可以重新开始工作了!

【讨论】:

哇,我刚刚在我的 Assets.xcassets 中意外删除它仍然有效,但这不起作用,所以我无法添加新图像......我到处寻找文件夹但没有成功 @JesusAdolfoRodriguez,如果您在不小心删除了资产目录时选择了“移至垃圾箱”,您应该能够在垃圾箱中找到该文件夹​​,当然除非您已经清空了垃圾箱。 很好,为我工作。对于不小心删除此文件的任何人仅供参考,我认为这是因为我们尝试在 Assets 文件夹中使用 Cmd+Delete 删除文件。相反,只需按 Delete 即可删除文件【参考方案2】:

如果您没有完全删除它,您可以从 Finder 中将其拖回。 (右键单击您的项目并选择“在 Finder 中显示”进行检查)

如果它完全消失了,您只需转到 Cmd+N -> Resource 并选择 Asset Catalog。然后,您可以通过拖放或右键单击并“将文件添加到...”重新添加您的图像,这样就可以了。

希望对您有所帮助。

【讨论】:

谢谢,我已设法将所有内容拖回文件夹,但导航器未显示该文件。有没有办法刷新导航器(或类似的东西)? 嗯,Cmd+W 和重新打开曾经有帮助,但值得一试。如果你在 Finder 中找到了文件,只需将它们拖回来就可以了 好吧,把文件拖回来就好了,只是导航器不再识别 .xcassets 文件,因为它根本不可见。我可以在 Finder 中找到它,但 XCode 导航器不相信我。 这听起来可能很愚蠢,但对我来说,重新启动 XCode 并清理项目经常完成这项工作 此刻,我有点沮丧,所以我欢迎所有的答案。除了重新启动 XCode 之外,我已经尝试过重建和清理项目;没有帮助。 :(【参考方案3】:

通常文件的引用从 Xcode 中删除,原始文件夹仍然存在于项目目录中。

右键单击您的项目文件夹,点击“将文件添加到“您的项目””,在您的项目中找到资产并点击添加 完成

【讨论】:

【参考方案4】:

今天在使用 Xcode Beta 时遇到了同样的问题,由于某种原因,我也无法创建新的资产目录。 这是在 Watchkit 扩展项目中 这是我为解决它所做的:

    在 finder 中,我将现有的 images.xcassets 从应用程序中的另一个文件夹复制到我的桌面。 删除了此文件夹的内容。 将已删除的(单个)图像资源从我的回收站复制到文件夹中(在我的桌面上)。 将整个文件夹拖到我在 XCode 中的项目中。

修复了它,一切都恢复正常了。

【讨论】:

【参考方案5】:

如果您已完全删除它,那么这些也是获取新 Images.xcassets 的步骤:

    在导航器中,单击项目。 转到:文件>新建>文件>添加资产目录>命名。 在其中添加 AppIcon 和 LaunchImage:

进入项目设置:

    在“常规”选项卡中,向下滑动到应用图标并启动图像 单击应用图标源旁边的选项并选择使用资产目录 将弹出一个窗口 - 选择新的 Images.xcassets 文件的名称,然后单击迁移。 选择同时添加 LaunchImage。现在您可以在您的项目中看到新的 Images.xcassets :)。

【讨论】:

【参考方案6】:

我不小心删除了对资产文件夹的引用,因此它在 Xcode 中不再可见。但是当我从查找器中检查时,资产文件夹仍在项目文件夹中。

如果你这样做了,只需在 Xcode 中打开文件菜单(从你当前的项目中),然后在最顶部你可以将(现有的)文件添加到那个项目(再次返回) - 它显示“将文件添加到。 ..”

【讨论】:

或者只是从 Finder 中拖放【参考方案7】:

右键单击项目中的任何内容,然后单击“在 Finder 中显示”。在 finder 中的项目文件夹中搜索一下,您会找到它。我现在不在 Mac 上,或者我会给你一个更直接的路径,直接到默认的 .xcassets 文件夹位置。

无论如何,如果您因为“已存在同名项目”而无法在该位置复制/创建“新”文件夹,那么这意味着您实际上并未删除该文件夹。您刚刚在 XCode 中删除了项目对该文件夹的引用。你硬盘上的文件夹没有去任何地方。

【讨论】:

啊,谢谢,我找到了该文件夹,但它似乎缺少大部分文件。你会碰巧知道其余的是否可以检索吗? 我不确定。如果它是您的项目中的某个东西,但现在不是,那么它要么在 Finder 的项目文件夹中的某个位置,要么它可能已被移动到垃圾箱。【参考方案8】:

[我意识到这是您@Aeveus 提出的一个非常古老的问题] 所有答案都在谈论重新添加资产。鉴于您无法撤消,原始描述中缺少的一步是:

在您的 project.pbxproj 文件中,会有如下资产引用:

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

假设您有源代码控制系统(git 等),您可以恢复到 project.pbxproj 文件的原始内容,或者手动重新添加已删除的行,然后在 xcode 中重新打开项目文件。现在一切就绪。

【讨论】:

【参考方案9】:

我遇到了同样的问题,我已经按照 Jason 的上述步骤进行操作,但最后我得到了红色的 Image.xassets,所以为了找到我的图片,我必须点击 Image.xassets,然后点击右上角角落放置了我的 image.xassets 文件夹的绝对路径,它解决了我的问题。 希望对您有所帮助!

【讨论】:

【参考方案10】:

我遇到了同样的问题。打开您的 XCode 项目。只需转到 File -> Add Files to...(your Project) -> Assets.xcassets 就可以了!

【讨论】:

以上是关于从 Xcode 项目中意外删除了 xcassets 文件的主要内容,如果未能解决你的问题,请参考以下文章

如何使用phpmyadmin恢复在sql中意外删除的表

在 Flutter 中意外删除了 dart 包

cPanel主目录中意外删除的文件

在 Flutter sdk 中意外删除了 pub-cache

在 Xcode 5 中删除 Images.xcassets 后布局位置错误

数据恢复:如何恢复Linux中意外删除的Oracle和MySQL数据库