我找到了自己的解决方案来解决这个问题。
该错误的原因是 .xcodeproj 文件缺少其包含的 pbxproj 文件,对吗?这通常在您右键单击 .xcodeproj 文件并单击“显示包内容”时出现。但是,在您自己的情况下,由于 git 版本控制的某些错误或其他原因,它已被删除。
由于您无法真正生成 .pbxproj 文件,因此我找到的解决方案是转到我用来创建存储库的原始项目文件夹位置。老实说,您也可以简单地创建一个新项目,只要它具有相同的包标识符等!由于此项目的 xcodeproj 文件将正确包含 .pbxproj 文件,因此将 XCode 环境中的文件替换为您自己的项目文件将允许 .pbxproj 文件根据这些文件进行更新。
因此,在打开这个原始项目文件夹(/new project folder)后,在XCode环境中,我将项目中的所有文件都删除了,并将它们替换为我项目中无法打开xcodeproj文件的相应文件. 鉴于您刚刚复制了一堆新文件,我不得不在这里和那里修复一些由此产生的错误,涉及构建阶段的东西等等。但是在修复了一些小错误之后,这个新位置的同一个项目最终能够运行没有问题!
最后,我拿了这个成功运行的项目版本,并将所有文件,.xcodeproj 文件,项目文件夹,测试文件和所有文件复制到原始存储库位置,事先从存储库中删除文件以避免混淆覆盖文件(如果您想安全,可以将旧的存储库文件剪切并粘贴到新位置,不要想删除它们!)。然后从存储库位置在 XCode 中打开项目,在您的模拟器/设备上构建并运行它,以确保一切正常(并修复您可能需要的任何小错误),瞧!您的项目现在可以提交、推送和运行!
这不是最干净的解决方案,如果各个分支都已损坏,您可能必须在各个分支上执行类似的操作。但是,如果您无法访问 Mac 时间机器,并且其他解决方案对您不起作用,那么这可能是再次拥有工作 .pbxproj 文件的最直接方法!
哦,我从我的 gitignore 中删除了 .pbxproj。我不确定它是否真的存在于你的 gitignore 中,但我建议你对这个主题进行自己的研究,我自己也不确定!
祝你好运!