【问题标题】:Info.plist Utility Error: "Info.plist couldn't be opened because there is no such file"Info.plist 实用程序错误:“无法打开 Info.plist,因为没有这样的文件”
【发布时间】:2014-11-29 03:06:08
【问题描述】:

我遇到了似乎很常见的错误,因为 Xcode 似乎找不到我的“Info.plist”文件。

我已经检查了这两个 StackOverflow 问题的答案(Could not read from Info.plistObjective C/Xcode error: The file “Info.plist” couldn’t be opened because there is no such file)...我使用的是相对路径,并且 plist 文件位于正确的绝对位置。类型和位置正确如下图所示:

我最担心的是,现在多个项目都发生了这种情况,包括几个小时前我成功运行的一个项目!有谁知道如何解决这个问题???

编辑 我也尝试过重新安装 XCODE 并替换 plist 文件。 Xcode 仍然找不到“info.plist”。

注意我想补充一点,这是针对 Xcode 6.2.X 的(我不记得确切的版本号,但它是 Xcode 6.3.X 之前的版本)。

【问题讨论】:

  • 在这里查看答案stackoverflow.com/questions/6145916/… 希望这对您有所帮助
  • 嘿@MinnesotaSteve,我确实尝试过,但仍然不断收到错误..它看起来好像我的路径在构建设置中设置正确:/
  • 废话 - 我会想点别的。真烦人。
  • 谢谢@MinnesotaSteve!最奇怪的是,它发生在一个我根本没有重命名的项目上......
  • 我尝试了一些 buccaneer 创造出像你一样烦人的东西。我能想到的就是你已经知道的。重新安装 XCODE。

标签: ios objective-c xcode relative-path info.plist


【解决方案1】:

我在 xcode 7.0 中也遇到了类似的问题,但上述解决方案都没有为我工作,最后我有机会解决这个问题

  1. 转到:应用目标
  2. 查看识别并选择 Plist

另见截图

享受

【讨论】:

  • 有同样的问题,不是这个按钮!
  • @Zl3n 请您分享更多信息
  • @Zl3n 我在使用 Xcode 7 时遇到了这个问题,上面的答案都没有帮助我解决这个问题,之后我可以自己解决这个问题,也许选择 info.plist 按钮可用仅在 xcode 7 上
  • @Zl3n 这个答案会帮助你stackoverflow.com/questions/19642102/…
  • 这为我修好了!谢谢!
【解决方案2】:

这个特定错误实例的解决方案是“无法打开 Info.plist,因为没有这样的文件”是我已经删除了“项目测试”文件夹中的所有文件,但仍然有我的目标下列出的“项目测试”。删除“tests”目标后,项目构建成功。

【讨论】:

  • 当我从 Frameworks 文件夹组中删除缺少的测试框架时,它起作用了。
  • 这在 XCode 6.3 中不起作用。最后,我不得不在错误消息中显示的目录下手动创建一个空的 plist 文件。空的 plist 文件将具有:
【解决方案3】:

当我将 XCode 更新到 6.1 时,我遇到了类似的情况。我的项目包含 Info.plist 但我收到此错误:“无法打开文件“Info.plist”,因为没有这样的文件。” 因此,我查看了我的应用程序的目标,它们是:“App”和“AppTests”。 我检查了“构建设置”选项卡中的“打包”字段。

目标:'App' -> 'Build Settings' -> 'Packaging' -> 'Info.plist file(field)' - 位置应该正确

目标:'AppTests' -> 'Build Settings' -> 'Packaging' -> 'Info.plist file(field)' - 位置必须是这样的:'AppTests/Info.plist'。保留此字段空。删除位置。

Apple 似乎默认检查此位置以查找 Info.plist。 清理并构建您的项目。它会起作用的。为我工作。

【讨论】:

  • @SathiReddy:谢谢
  • 重命名包含 info.plist 文件的文件夹时遇到此问题。这澄清了问题。
【解决方案4】:

XCode 10 和 11

我知道这已经有一段时间了,但是我今天遇到了同样的问题,而且我找到的答案对我来说不是很清楚,所以我决定用截图做一个说明。

1) 首先,在 xcode 中打开右侧面板并单击您的 .plist 文件:

2) 其次,选择右侧面板上的Relative to project 位置并复制其正下方的链接:

3)第三,进入主项目设置,选择你的目标并点击构建设置选项卡:

4) 最后,在搜索栏中输入Info.plist,双击现有路径并粘贴您之前复制的链接:

最后,清理项目Shift + Cmd + K 并重新运行。

【讨论】:

  • 可以使用相对位置模式,例如$(SRCROOT)/ProjectName/App/SomeFolder/Info.plist
【解决方案5】:

对我来说,这个问题的答案是:

1.关闭Xcode

2.转到./Users/You/Library/Developer/Xcode/DerivedData

3.删除此文件夹中的所有内容

4.运行Xcode

5.构建和清理

Xcode 版本:6.4 (6E35b)

【讨论】:

    【解决方案6】:

    在我的情况下,我编辑了我的 xcode 项目文件夹名称,以便在更改文件夹的新名称(项目 -> 目标 -> 构建设置 -> 打包 -> Info.plist 名称)然后正常工作后发生这种情况。

    【讨论】:

      【解决方案7】:

      前往目标。右键单击测试目标。 yourProjectTests 并删除它

      【讨论】:

        【解决方案8】:

        如果您将 info.plist 位置从项目更改为应用程序内的文件夹,那么您将收到此错误,我遇到了同样的错误并通过这种方式解决了错误

         Select your app and from Targets yourApp > Build Settings > Packaging > 
         Info.Plist and change that path
        

        【讨论】:

        • 构建设置键:INFOPLIST_FILE。一个示例模式是$(SRCROOT)/ProjectName/App/SomeFolder/Info.plist
        【解决方案9】:

        正如@narner 所回答(答案标记为正确),是的,它可以使代码工作。但这里有更好的方法来解决这个问题。

        我的建议是,与其删除测试目标,不如更改测试目标下 info.plist 的路径。

        简单的步骤:-

        在项目中,点击项目文件-> ProjectNameTests(在targets下)->Build settings->Packaging->Info.plist 这里你可以改变文件的路径。

        【讨论】:

          【解决方案10】:

          双击此图标重新定位文件:

          过去几个小时我也遇到了这个问题。我从早期版本下载了我的 github 项目。搜索路径似乎变得混乱,需要明确告知文件的位置。

          【讨论】:

            【解决方案11】:

            我遇到的最奇怪的问题之一。在我的情况下,我没有丢失任何文件,我清除了派生数据,清除了模块化缓存,多次清除了项目,重新启动了我的 xcode,但对我没有任何帮助。最后我重新启动了我的电脑,唯一的希望是解决这个问题,这对我来说非常有用!!!

            【讨论】:

              【解决方案12】:

              这是我的第一篇文章,但我已经在这里学习了一段时间了。

              对我来说,问题是我添加的一个框架。我知道,因为在添加它时,我遇到了问题,我在模拟器上的开发过程中不断测试,我打开模拟器日志,发现 info.plist 问题完全与我添加的框架有关。为了仔细检查,我删除了框架和对它的所有引用,并尝试再次构建到模拟器,一切都恢复正常。因此,在我尝试了我在这里和其他帖子中阅读的所有内容并且无法解决问题之后,我想认输,但在我最后一次尝试中,我做了以下事情,并且在 24 小时后它工作了:

              1. 我从我的 Xcode 项目中删除了引用并完全删除了有问题的框架。

              2. 打开模拟器,选择模拟器/重置内容和设置..

              3. 在 Xcode 中,我执行了 Product/Clean 并在按住 alt 的同时执行了 Product/Clean 构建文件夹。我认为如果你做 2 中的后者,Product/Clean 是不必要的,但我抓住了稻草

              4. 要将框架添加回项目,我选择了目标/构建阶段并添加了一个新的复制文件阶段。

              5. 在添加框架之前创建目标“框架”,勾选“仅在安装时复制”(这部分是粗体,因为这是我最初尝试的唯一更改)将框架添加到复制文件阶段。

              我的血压现在恢复正常了..

              【讨论】:

                【解决方案13】:

                这对我有用:

                • 转到 Finder 上的 info.plist 文件。
                • 将其拖放到项目文件夹中(无需复制)
                • 删除以前的参考(仅参考,不要移到废纸篓)
                • 再次尝试运行它

                希望这对某人有帮助:)

                【讨论】:

                  【解决方案14】:

                  上述或其他解决方案都不适合我。经过几天的搜索,我找到了解决方案。

                  ionic cordova platform remove ios
                  ionic cordova platform add ios
                  

                  我删除和添加平台的原因是我不小心删除了ios文件夹下的一些文件。所以,它带来了必要的文件。

                  【讨论】:

                    【解决方案15】:

                    您还可以检查目标依赖项。我花了 1 小时才意识到我已经为目标 A 复制了一个 UI 测试目标,但是还剩下一个依赖项。因此,构建需要一个未映射到目标 B,而仅映射到 A 的文件。

                    目标 B 的 ui 测试:目标 B 和 A

                    的依赖关系

                    【讨论】:

                      【解决方案16】:

                      首先你需要检查你的项目文件夹是否有 info.plist。 如果没有,那么您需要将 info.plist 从任何其他应用程序复制到您的项目文件夹中并在 xcode 中添加文件。它会解决你的问题。

                      【讨论】:

                      • 我确实查看了项目文件夹,并且 info.plist 在那里
                      • 现在尝试从您以前的任何项目中复制 info.plist 文件。我已经以类似的方式解决了我的问题,它对我有用,它也可能对你有用。
                      • 我删除了 plist 并复制了另一个(以及重新安装 XCODE),但仍然收到错误:/
                      • 你能告诉我你遇到了什么错误吗?
                      【解决方案17】:

                      另一件需要考虑的事情是取消选中实用工具栏中的info.plist的本地化,如果你已经选中它然后清除项目,任务就完成了!

                      【讨论】:

                        【解决方案18】:

                        以上答案不适用于我的情况。

                        这是我发现的。

                        几周前,我为我的项目下载了一个 github 目标 c 库到我的下载文件夹。然后,我使用“将文件添加到...”添加了该库,该库运行良好。

                        我会定期从我的下载中删除旧文件和文件夹。碰巧我删除了包含objective-c库的文件夹!因此,Xcode 抱怨它在该文件夹中找不到“Info.plist”。我去了垃圾箱,恢复了文件夹,现在一切都很好!

                        下次我将文件添加到我的文件夹时,我会确保将文件复制到项目中。

                        这个 Apple 文档很有帮助:https://developer.apple.com/library/ios/qa/qa1649/_index.html

                        祝你好运

                        【讨论】:

                          【解决方案19】:

                          在您的项目中使用 ctrl+sht+f 搜索“info.plist”。

                          点击结果,您会在 Build Settings 下找到它。

                          确保它包含指向您的 info.plist 文件的正确路径,就像项目层次结构中一样。

                          【讨论】:

                            【解决方案20】:

                            在使用启用的测试用例创建框架时,请确保项目应该有两个 info.plist,一个在主项目中,另一个在测试中。现在您收到此错误,因为项目中可能缺少 info.plist 文件或在测试中。

                            【讨论】:

                              【解决方案21】:

                              只有在阅读完此页面上的所有其他答案后才能这样做

                              所以基本上其他答案可能是您需要的。我已经尝试了所有这些,但它们没有工作。不是因为他们错了,而是因为我只是看错了地方。

                              基本上,错误消息只是说明:无法打开文件“Info.plist”等等。我注意到此页面上的所有答案都谈到了与实际项目有关的 plist 文件(或者它是测试文件,反正)。我仔细检查了 1000 次,它们绝对是在正确的位置。

                              那时我意识到错误消息根本没有提供足够的信息,我的项目中有很多 info.plist 文件!

                              所以我只是使用命令行编译了xcode的代码outside,如下所示:

                              xcodebuild -project project.xcodeproj -alltargets -configuration Debug
                              

                              它给了我一个更详细的错误信息:

                              ...

                              builtin-copyPlist --convert binary1 --outdir /Users/Shared/dev/ios/customer-ios/build/Debug-iphoneos/theApp.app -- theApp/Libs/STPopup/Info.plist /Users/Shared/dev/ios/customer-ios/theApp/Libs/STPopup/Info.plist:0: 错误:读取数据:无法打开文件“Info.plist”,因为 没有这样的文件。

                              ** 构建失败 **

                              以下构建命令失败: CopyPlistFile build/Debug-iphoneos/theApp.app/Info.plist theApp/Libs/STPopup/Info.plist

                              所以它告诉我哪个 plist 文件有问题:Libs/STPopup/Info.plist.. 我搜索了那个文件,结果发现我得到了一个缺少库的项目:

                              【讨论】:

                                【解决方案22】:

                                可能的 XCode 9 更新 - 在我将一堆文件(包括 Info.plist)移动到“支持文件”组后,我遇到了这个问题。在 XCode 9 之前我从来没有出现过这个错误,所以要么是我在将文件移动/添加到组时所做的不同的事情,要么是 XCode 9 更新的新事物。

                                当基于 XCode 9 中的选定文件创建组/文件夹时,它实际上将文件移动到 Finder 中的新文件夹中。因此,我的 Info.plist 文件被移动并且 XCode/build/compile 找不到它。我遵循了上面 nivritgupta 的想法,并且效果很好(从 General build settings 的 Identity 类别中选择“Choose Info.plist File ...”)。然后,我从 XCode 9“重新定位”的新位置(已经)选择了 Info.plist 文件,然后我的项目构建没有问题。

                                旁注:这也修复了我同时开始收到的奇怪的“缺少 default-568h@2x”警告。两只鸟……

                                【讨论】:

                                  【解决方案23】:

                                  不是 info.plist 而是另一个 plist 文件我遇到了同样的问题。错误的原因是我无意中将文件复制到了一个文件夹中,因此它创建了一个符号链接。当我删除原始文件时,会引发此错误。删除符号链接文件解决了问题。

                                  【讨论】:

                                    【解决方案24】:

                                    带有屏幕截图的真实项目示例,显示了解决此问题的另一种方法。

                                    使用 Swift 4 和 Xcode 9。

                                    1-查看'Step 1 Visual Description'中的图片所示的Xcode构建错误问题,它会告诉您该文件属于您的Xcode项目中的哪个子文件夹。在我的情况是 NVActivityIndi​​catorViewExample/Info.plist。 Step 1 Visual Description

                                    2-但是您也可以通过转到 Xcode 项目“目标”区域中的“构建设置”部分来查看 Info.plist 文件的位置,如“步骤 2”中的图片所示视觉描述'。当您在那里查看“打包部分”并单击“Info.plist 文件”行时,弹出视图会显示文件应该在哪个文件夹中。Step 2 Visual Description

                                    3-找到您的 Info.plist 文件,通过右键单击将其作为源代码文件打开。查看Step 3 Visual Description 寻求帮助。

                                    4-复制代码并删除 Info.plist 文件。查看Step 4 Visual Description 寻求帮助。

                                    5-根据构建设置在项目中找到 Info.plist 文件应该所在的文件夹,然后右键单击该文件夹并单击“新建文件”。查看Step 5 Visual Description 寻求帮助。

                                    6-确保您位于您正在构建的应用类型(在本例中为 iOS)的部分中,转到资源并选择“属性列表”。查看Step 6 Visual Description 寻求帮助。

                                    7-键入“Info”作为不带扩展名的文件名,确保为您的应用程序选择了 Group 和 Target,然后单击“Create”。查看Step 7 Visual Description 寻求帮助。

                                    8-将新创建的 Info.plist 文件作为“源代码”打开,粘贴您从已删除的 Info.plist 文件中复制的先前 XML 代码,保存并运行您的应用程序。 (如果需要,您还可以构建和清理项目。)

                                    【讨论】:

                                      【解决方案25】:

                                      这对我有用:

                                      • 关闭 xcode
                                      • 删除dervivedData文件夹内容
                                      • 打开 xcode
                                      • 产品清洁
                                      • 再次运行

                                      【讨论】:

                                        猜你喜欢
                                        • 2016-10-07
                                        • 2016-02-07
                                        • 2016-05-17
                                        • 2015-03-25
                                        • 2011-04-01
                                        • 2015-11-07
                                        • 1970-01-01
                                        • 1970-01-01
                                        • 1970-01-01
                                        相关资源
                                        最近更新 更多