为什么在我的xcode项目文件中恢复了引用?

时间:2017-09-13 14:59:52

标签: xcode

我有一个本机应用反应,只是注意到在XCode的Recovered References文件中为project.pbxproj添加了几行。

我不记得添加或删除任何引用,恢复的引用显示我通常使用的库。我不愿意在不知道这些变化是什么的情况下检查git的本地更改。我应该放弃这些变化吗?

如果我自己没有添加或删除这些包,有人可以解释为什么会添加这些行吗?这是否意味着删除了一些引用以便以后恢复?我能想到的唯一一件事就是我运行了本地反应链接,是否会进行这些更改?

此行已添加

E3C5B1001F6966D2006296E1 /* Recovered References */,

整个部分是新的:

E3C5B1001F6966D2006296E1 /* Recovered References */ = {
            isa = PBXGroup;
            children = (
                E602D61E379048BF92DC0C6D /* libRNDeviceInfo.a */,
                DEE39860F1B042208F193884 /* libRNVectorIcons.a */,
                C193FEFE9F3B45388016E921 /* libRNShare.a */,
                58B3A26CAB2543FB941C3D8D /* libRNFIRMessaging.a */,
                0BFBA42D662C492EBC1957A0 /* libreact-native-branch.a */,
                4BC248DD95524DE091A41CEC /* libCodePush.a */,
                6DB0E4FE64B34B68A29B262E /* libRNImagePicker.a */,
                E1502CC537D94CF4A5711814 /* libRNAddCalendarEvent.a */,
                065361D30B3F47D4A5101A1D /* libRNAccountKit.a */,
            );
            name = "Recovered References";
            sourceTree = "<group>";
        };

5 个答案:

答案 0 :(得分:14)

发自:Xcode 9 Beta 2的发行说明:

  

当项目打开时,Xcode将检测是否有任何构建文件   项目中的目标表示不存在的文件引用   在该项目的组树中。任何此类引用都将添加到a   名为“Recovered References”的文件组,如果是,将创建   必要。应该在手动重组这些引用   项目酌情。 (22924751)

答案 1 :(得分:4)

在我的项目中,我发现在项目中添加了一个“ Recovered Reference”文件夹。它包含对我最近手动删除的文件的引用,并且仅存在于项目中(不在磁盘上)。可能是由于在从“编译源”中删除它们之前,从磁盘上手动删除了这些文件而导致的。即使我稍后修复它,这些文件也被卡在那里。

解决方案是删除整个文件夹(右键单击它->删除)

enter image description here

答案 2 :(得分:0)

正如gheni4所提到的,Xcode 9由于某种原因在Recovered References下添加了几个* .a文件。通过删除文件夹和除iOS之外的所有目标(iOS-Test,tvOS,tvOS-Test),它们不再自动创建,我最终可以毫无错误地构建。

答案 3 :(得分:0)

除了RobertK提供的内容外,在我的项目中,我还注意到这些 Recovered References 也以重复的形式出现在目标的项目 Build Phases 中,似乎位于奇怪的文件中地址。

className.swift ...in some/odd/nonProject/folder/structure

除大多数其他文件显示的内容外,基本上没有其他内容,例如:

...in ProjectName/KnownFolder/ExpectedLocation

我发现我可以安全地(使用-按钮删除在构建阶段...in奇数位置下找到的所有“恢复的参考”。从项目导航器中删除 red 恢复的文件引用,然后退出并重新加载您的项目,并进行干净的重新构建以作好准备。

我希望我能阐明如何是什么原因被创建的这些奇数文件,但是这里有多个开发人员在一个项目中,可能很难抓住起始事件以便对其进行跟踪。

答案 4 :(得分:-1)

通过重命名文件,手动删除与Recovered References退出Xcode相关的项目文件中的所有内容以及运行synx(一个有用的ruby实用程序)来修复它。当我再次打开它时,我可以构建,一切都很好。