ios Swift 3 / Xcode 8升级-工作副本错误导致100个DerivedData文件丢失

bybem2ql  于 2022-12-24  发布在  iOS
关注(0)|答案(9)|浏览(145)

我刚刚升级到XCode和Swift的最新测试版,但使用转换器后,我的应用程序项目现在有超过200个构建时黄色错误,所有错误都显示/“projectDirectoy”/DerivedData/XXXXXXXXX/XXXX/XXX/xXXX/xXX从工作副本中丢失...其中XXXXX代表DerivedData文件夹中的各种文件路径。
我已尝试从错误中提到的位置删除DerivedData文件夹。
我已尝试删除~/Library/中DerivedData文件夹中的所有内容。
我已经多次尝试清理项目,重新启动并重新构建。
我试过在参数设置中关闭源代码控制,但是我不明白为什么我应该关闭它,因为它在我更新之前是打开的,所以我希望它保持打开状态。
这些错误似乎永远不会消失。
有什么想法吗?

yqkkidmi

yqkkidmi1#

在更新到Xcode 8 GM后,我也面临着同样的警告,超过350个。其中大部分都是资产目录中的.swift文件和图像。
这基本上是一个源代码控制问题,似乎主要出现在移动/删除项目文件的时候。这些要么是新的警告,要么就是Xcode 8对源代码控制的要求比Xcode 7严格得多。
在谷歌上搜索后,我找到了一些答案,但对我来说似乎很复杂,例如使用命令行,甚至建议关闭源代码控制并重新打开。
以下是我所有项目中行之有效的方法。

捷径

先试试这个,如果不起作用,那就走远路吧

**1)**转到“源代码管理”菜单(窗口和帮助旁边的顶部菜单),然后单击“刷新状态
**2)**再次转到“源代码管理”菜单,然后单击“提交
**3)**提交窗口会打开,显示Xcode认为需要的所有提交。所以只需在文本框中输入一个提交,然后按提交按钮。

重复步骤1-3,直到打开提交菜单时Xcode不再选择任何项目。在提交Xcode自动选择的所有项目之前,不要转到步骤4,否则在执行步骤4时可能会出错。

**4)**再次打开提交窗口,如第3步所述,Xcode应该不会再选择任何项目。但是你仍然会在左侧栏看到一些导致警告信息的项目。

右键点击一个项目,然后点击全选,在文本框中输入一个提交,然后点击提交按钮。所有操作都应该完成,警告/错误应该消失(可选地再次点击提交菜单-〉刷新状态)。
如果没有完成,则关闭/重新打开Xcode,然后重做步骤1-4。
如果这也不起作用,那么漫长的道路应该解决它。

漫漫长路

如果你使用源代码管理并定期提交,那么你可以选择执行步骤1,然后你应该能够直接进入步骤11。

**1)**清除xCode派生数据(可选)

您通常不需要这样做,所以在第一次尝试时跳过此步骤,转到步骤3。
进入Xcode首选项,点击“位置”标签,然后进入高级。点击高级按钮旁边的小箭头打开派生文件夹的路径。完全关闭Xcode,然后删除派生文件夹中的所有内容。
正如成员Krivvenz在他的回答中友好地指出的,你可能必须选择这样做。我自己没有这样做,所以也许跳过这个,只有在它不起作用时才尝试。
“我还必须将DerivedData选项从相对更改为自定义,可以在Xcode〉首选项〉位置选项卡中找到。”

**2)**重新启动Xcode项目并等待索引完成。这可能需要几分钟时间,因为您刚刚删除了派生数据。
**3)**转到“源代码管理”菜单(窗口和帮助旁边的顶部菜单),然后单击“刷新状态
**4)**再次转到“源代码管理”菜单,然后单击“提交
**5)**提交窗口应该打开所有Xcode认为必要的提交。我有超过250个,因为我以前从来没有使用过源代码管理。
**6)**单击右下角的提交更改
**7)**出现错误,操作未完成(如果适用,请转到11)
**8)**转到“源代码管理”菜单,然后单击“刷新状态
**9)**转到源代码管理并单击“提交
**10)**点击右下角的commit changes。这次它建议少提交30次,我没有错误。如果你第二次尝试时仍然有错误,尝试完全关闭Xcode,然后重新打开它,然后重复这一步。
**11)**转到“源代码管理”菜单,然后单击“刷新状态
**12)**转到“源代码管理”菜单并单击“提交
**13)**这一次Xcode不建议做任何修改,但是你仍然会在左边的提交菜单中看到很多文件(未勾选)。就是这些文件抛出了工作副本警告,这些警告也应该还在那里。
**14)**在提交菜单的左边栏中选择每一个文件。你可以右键单击并点击全部选中
**15)**单击右下角的“提交更改
**16)**我遇到一个错误,操作没有完成。所以我再试了一次,还是同样的错误,所以我关闭了提交菜单。如果它为你完成了,那也没关系。
**17)**转到“源代码管理”菜单,然后单击“刷新状态

所有的警告都消失了。

**18)**完全关闭项目和Xcode
**19)**再次打开您的项目
**20)**转到“源代码管理”菜单,然后单击“刷新状态
**21)**转到“源代码管理”菜单并单击“提交
**22)**我突然又收到了150多条建议。确保所有建议都被选中,然后点击提交,它应该会完成而没有错误。
**23)**清理您的项目(产品-〉清理)
**24)**进入源代码管理菜单并点击提交。这里不需要任何修改,左边栏中也不应该有任何文件。

在这一切之后,我没有更多的警告,不需要删除源代码管理,一切都像往常一样工作。

如果你在未来得到更多的错误,比如说因为你再次移动了一个文件,而不仅仅是再次提交,确保所有的内容都被选中。

enyaitl3

enyaitl32#

这是XCode中的一个bug。当你git提交你的项目树时,缺少文件的警告就会消失。

myss37ts

myss37ts3#

我在父文件夹中有一个rogue .git文件夹,它没有“转到”任何位置-
在“源代码控制”菜单下验证所有“工作副本”* 是否实际连接到真实的的源代码控制文件夹 *

  • 没有 * 这些'解决方案'为我工作,除了这个删除流氓.git文件夹
oknwwptz

oknwwptz4#

从终端删除DerivedData和git add .,即使没有提交,也为我解决了这个问题。

fcg9iug3

fcg9iug35#

只需显示所有隐藏文件,然后删除git文件夹打开终端并运行此命令来显示所有隐藏文件“defaults write com.apple.finder AppleShowAllFiles YES killall Finder”

6pp0gazn

6pp0gazn6#

请按照以下步骤操作。
1.打开svn或源代码树.
1.这些文件会送到那里。
1.从源代码树或svn中删除这些文件.
1.现在来看看xcode项目。
1.现在提交代码一次。所有警告

pod7payv

pod7payv7#

我通过删除“yourProject”/Pods中的**.git目录解决了这个问题。并且可以删除“yourProject”主目录中的.git目录**。

bxgwgixi

bxgwgixi8#

我想我现在已经解决了这个问题,删除了我的DerivedData文件夹的所有示例,并按照crashoverride777的指示。我还必须将我的DerivedData选项从相对更改为自定义,可以在Xcode〉Preferences〉Locations Tab中找到。

wvt8vs2t

wvt8vs2t9#

我从我的项目目录中删除了旧的模型对象,问题解决了。

相关问题