Plist 实用程序错误: “ Info.plist 无法打开,因为没有这样的文件”

我遇到了一个常见的错误,Xcode 似乎找不到我的‘ Info.plist’文件。

我已经检查了这两个 StackOverflow 问题(无法读取 Info.plist目标 C/Xcode 错误: 无法打开文件“ Info.plist”,因为没有这样的文件)的答案... ... 我使用了一个相对路径,plist 文件位于正确的绝对位置。类型和位置正确,如下图所示:

plist path

我最担心的是,这种情况现在发生在多个项目上,其中包括我几个小时前成功运行的一个项目!有人知道怎么解决吗?

我还试过重新安装 XCODE 并替换 plist 文件,XCODE 仍然找不到‘ info.plist’。

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

97018 次浏览

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

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

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

目标: ‘ App’-> ‘ Build Settings’-> ‘ Package’-> ‘ Info.plist file (field)’-位置应该是正确的

目标: ‘ AppTest’-> ‘ Build Settings’-> ‘ Package’-> ‘ Info.plist file (field)’-位置必须是这样的: ‘ AppTest/Info.plist’。保持这个区域空旷。删除地址。

看起来苹果默认在这个位置查找 Info.plist。 清洁和建立你的项目。它将工作。为我工作。

进入目标。右键点击测试目标。你的项目测试并删除它

这是我遇到过的最奇怪的问题之一。在我的例子中,我没有丢失任何文件,我清除了派生数据,清除了模块化缓存,多次清理了项目,重新启动了 xcode,但是没有一个对我有用。最后,我重新启动了我的电脑,唯一的希望是解决这个问题,令人惊讶的工作为我! ! !

另一件需要考虑的事情是在工具栏中取消选中 Localization for info.plist,如果您已经选中了它,然后清除项目,那么任务就完成了!

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

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

简单步骤:-

在项目中,单击项目文件-> 项目名称测试(在目标下)-> 构建设置-> 打包-> Info.plist 在这里您可以更改文件的路径。

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

1. 关闭 Xcode

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

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

4. 运行 Xcode

5. 建造和清洁

Xcode 版本: 6.4(6E35b)

我在 xcode 7.0中也遇到了类似的问题,但是上面的解决方案都不适合我,最后我得到了一个解决这个问题的机会

  1. 转到: App Target
  2. 查看标识并选择列表

也可以看看截图

enter image description here

好好享受吧

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

对我来说,问题是我添加的一个框架。我知道这一点是因为在添加它时,我发现了问题,并且在模拟器的开发过程中不断地进行测试,我打开模拟器日志,发现 info.plist 问题完全出在我添加的框架上。为了再次检查,我删除了框架和所有对它的引用,并再次尝试构建模拟器,一切恢复正常。所以,在我尝试了所有我在这里和其他帖子中读到的东西,但是没能解决这个问题之后,我想放弃,但是在我最后一次尝试的时候,我做了以下的事情,并且在24小时之后成功了:

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

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

  3. 在 Xcode,我做了一个“产品/清洁”,在按住 alt 的同时,做了一个“产品/清洁构建”文件夹。我认为如果你做后者的2,产品/清洁是不必要的,但我抓住了最后一根稻草

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

  5. 使目标“框架”,在添加框架之前,勾选“仅在安装时复制”(这部分是黑体,因为它是唯一的事情,我改变了我的原始尝试)增加了框架的复制文件阶段。

我的血压已经恢复正常了。

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

这是我的发现。

几周前,我在下载文件夹下载了一个针对我项目的 github 目标 c 库。然后我用“ Add Files to...”添加了这个库,这个库工作得很好。

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

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

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

祝你好运

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

点击结果,您会发现它作为构建设置下的一个字段。

确保它包含项目层次结构中 info.plist 文件的正确路径。

通过双击这个图标重新定位文件:

enter image description here

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

在创建具有启用测试用例的框架时,请确保项目应该有两个 info.plist,一个在主项目中,另一个在 tests.now 你会得到这个错误,因为在项目或测试中可能缺少 info.plist 文件。

只有在阅读本页所有其他答案后才可以这样做

所以基本上其他的答案可能就是你需要的。我都试过了,都没用。不是因为他们错了,而是因为我只是看错了地方。

基本上,错误消息只是简单地声明: 文件“ Info.plist”无法打开等等。我注意到这个页面上的所有答案都提到了与实际项目相关的 plist 文件(或者说是测试文件)。我反复检查了1000次,他们绝对是在正确的地方。

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

因此,我只是使用命令行编译了 xcode 的代码 在外面,如下所示:

xcodebuild -project project.xcodeproj -alltargets -configuration Debug

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

...

Builtin-copPlist ——转换 binary1—— outdir/Users/Shared/dev/ios/customer-ios/build/Debug-iphoneos/theApp.app —— 应用程序/Libs/STpopup/Info.plist 用户/共享/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

enter image description here

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

enter image description here

可能的 XCode9更新——在我将一大堆文件(包括 Info.plist)移动到“支持文件”组后,我遇到了这个问题。在 XCode 9之前,我从来没有遇到过这样的错误,所以要么是因为我在向组中移动/添加文件时做了不同的操作,要么是因为新的 w/XCode 9更新。

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

附注: 这也修正了我同时开始收到的奇怪的“丢失默认值-568h@2x”警告。

这对我很有效:

  • 转到 Finder 上的 info.plist 文件。
  • 拖动它并将其添加到项目文件夹(不复制)
  • 删除上一个引用(只删除引用,不要移到“垃圾桶”)
  • 再试一次

希望这对某些人有所帮助:)

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

真实的项目示例,截图显示了解决这个问题的另一种方法。

使用 Swift 4和 Xcode 9。

1-查看“ 第一步视觉描述”图片中显示的 Xcode 构建错误问题,它会告诉你文件属于 Xcode 项目中的哪个 Sub 文件夹。在我的例子中,它是 NVActivityIndicatorViewexample/Info.plist。第一步视觉描述

2-但是你也可以通过访问 Xcode 项目“ Target”区域中的“ Build Settings”部分来查看 Info.plist 文件应该在哪里,如“ 第二步视觉描述”中的图片所示。当你看到“打包”部分,点击“ Info.plist 文件”行,弹出一个视图,显示文件应该在哪个文件夹中。第二步视觉描述

3-查找您的 Info.plist 文件,通过右键单击将其作为源代码文件打开。看看 第三步视觉描述寻求帮助。

复制代码并删除 Info.plist 文件。

5-在你的项目中找到 Info.plist 文件应该去的文件夹,根据你的构建设置,然后右键点击那个文件夹,点击“新建文件”。看看 第五步视觉描述寻求帮助。

6-确保你在你正在构建的应用程序(本例中是 iOS)的部分,转到参考资料并选择“属性列表”。看看 第六步视觉描述寻求帮助。

输入“信息”作为没有扩展名的文件名,确保为您的应用程序选择了组和目标,然后单击“创建”。看看 第七步视觉描述寻求帮助。

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

上面提到的或者其他的解决方案对我来说都不管用。经过几天的寻找,我找到了一个解决方案。

ionic cordova platform remove ios
ionic cordova platform add ios

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

在我的例子中,我编辑了我的 xcode 项目文件夹名,以便在更改文件夹的新名称(项目-> 目标-> 构建设置-> 打包-> Info.plist 名称)后可以正常工作。

还可以检查目标依赖项。我花了1个小时才意识到我已经为目标 A 复制了一个 UI 测试目标,但是还有一个依赖项。所以构建需要一个没有映射到目标 B 但只映射到 A 的文件。

对目标 B 的 ui 测试: 对目标 B 的依赖

代码10和11

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

1)首先,在 xcode 中打开右边的面板,点击. plist 文件:

enter image description here

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

enter image description here

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

enter image description here

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

enter image description here

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

这就是对我有效的方法:

  • 关闭 < em > xcode
  • 删除 生存资料文件夹内容
  • 打开 < em > xcode
  • 产品清洁
  • 再跑一次

如果你改变 info.plist的位置从项目到一个文件夹内的应用程序,然后你会得到这个错误我面临着同样的错误和错误解决这种方式

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