为什么在我的xcode项目文件中找到引用?

问题描述:

我有一个反应本机应用程序,只是注意到在我的project.pbxproj文件中的Recovered References XCode中添加了几行。为什么在我的xcode项目文件中找到引用?

我不记得添加或删除任何引用和恢复的引用显示我通常使用的库。我不愿意检查当地的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>"; 
     }; 

来源:发布说明Xcode的9测试版2:

当打开一个项目时,Xcode中发现,如果将在 目标的任何生成文件项目代表文件的引用不属于该项目目前的 组树。任何这样的引用将被添加到名为“恢复的引用”的 文件组中,如果需要 ,将会创建该文件组。这些参考资料应根据情况在 项目中手动重组。一个有用的工具红宝石 - (22924751)

+5

我将如何去做最后一句中写的内容,即'这些参考文献应该在适当的时候在项目中手动重组。 – Andru

+4

有人可以解释如何做到这一点? – chetstone

如前所述gheni4,Xcode的9增加下由于某种原因,回收参考几个* .a文件。通过删除文件夹和除iOS之外的所有目标(iOS-Test,tvOS,tvOS-Test),它们不再自动创建,并且我可以最终构建而不会出错。

+0

我试过了,它真的搞砸了。我删除了我的iOS测试目标和恢复的引用文件夹,现在我的链接失败,' 架构x86_64的未定义符号: “_OBJC_CLASS _ $ _ Orientation”,引用来自: objc-class-ref AppDelegate.o “_OBJC_CLASS _ $ _ CodePush “,参考: objc-class-ref在AppDelegate.o'中,我不知道如何解决它。 – chetstone

+0

我设法通过从git恢复pbxproj文件进行恢复。 xcode再次添加了恢复的引用文件夹,但它似乎并没有真正伤害任何东西。构建工作正常,我会忍受它的丑陋。 – chetstone

通过重命名文件,手动删除在有关Recovered References退出Xcode的项目文件的一切,并运行synx固定它。当我再次打开它时,我可以建造,一切都很好。