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


76

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

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

plist路径

我最大的担心是,这现在正在多个项目中发生,其中包括几个小时前我成功运行的项目!有谁知道如何解决这个问题???

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

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


在此处查看答案stackoverflow.com/questions/6145916/… 希望这对您有所帮助
Steve Rosenberg 2014年

嘿@MinnesotaSteve,我确实尝试过,但是仍然不断收到错误..它对我来说好像在构建设置中正确设置了我的路径:/
narner 2014年

废话-我会想到别的。真烦人
史蒂夫·罗森伯格

感谢@MinnesotaSteve!最奇怪的是,它发生在一个我根本没有重命名的项目上……
narner 2014年

我尝试了几件事海盗制造的东西像您一样烦人。我所能想到的就是您已经知道的。重新安装XCODE。
史蒂夫·罗森伯格

Answers:


130

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

  1. 转到:应用定位
  2. 请参阅识别并选择Plist

另请参见屏幕截图

在此处输入图片说明

请享用


2
有同样的问题,不是这个按钮!
w3spi

2
@ Zl3n,请您分享更多信息
nivritgupta,2015年

1
@ Zl3n我使用Xcode 7遇到了这个问题,以上答案都不能帮助我解决这个问题,之后我可以解决这个问题,也许可以选择info.plist按钮仅在xcode 7上可用
nivritgupta

1
@ Zl3n这个答案将帮助您stackoverflow.com/questions/19642102/...
nivritgupta

1
这为我解决了!谢谢!
lizziepika

50

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


1
当我从Frameworks文件夹组中删除缺少的Test框架时,它起作用了。
大卫·道格拉斯

3
这在XCode 6.3中不起作用。最后,我不得不在错误消息中显示的目录下手动创建一个空的plist文件。空的plist文件将具有:<?xml version =“ 1.0”?> <plist version =“ 1.0”> <dict /> </ plist>
Prabu Arumugam 2015年

29

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

目标:'App'->'Build Settings'->'Packaging'->'Info.plist文件(字段)'-位置应正确

目标:'AppTests'->'构建设置'->'包装'->'Info.plist文件(字段)'-位置必须是这样的:'AppTests / Info.plist'。将此字段保留为空。删除那个地点。

看来苹果默认情况下正在检查此位置以查找Info.plist。清理并构建您的项目。它将起作用。为我工作。


@SathiReddy:谢谢
neha_sinha19 2016年

1
重命名包含info.plist文件的文件夹时遇到此问题。这澄清了问题。
帕尔梅什

18

XCode 10和11

我知道已经有一段时间了,但是今天我遇到了同样的问题,我发现的答案对我来说也不是很清楚,所以我决定使用屏幕截图进行说明。

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

在此处输入图片说明

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

在此处输入图片说明

3)第三,转到主项目设置,选择目标,然后单击“构建设置”选项卡:

在此处输入图片说明

4)最后,Info.plist在搜索字段中键入内容,双击现有路径,然后粘贴您之前复制的链接:

在此处输入图片说明

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


8

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

1.关闭Xcode

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

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

4,运行Xcode

5,构建和清理

Xcode版本:6.4(6E35b)


7

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



2

通过@narner的回答(答案标记为正确),可以使代码正常工作。但这是解决问题的更好方法。

我的建议是,如果我们更改测试目标下的info.plist路径,则最好删除删除测试目标。

简单步骤:

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


2

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

在此处输入图片说明

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


1

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


1

这是我的第一篇文章,但现在我已经成为这里的专注学生。

对我来说,问题是我添加了一个框架。我知道,因为添加它时遇到了问题,并且在模拟器的开发过程中不断进行测试,并且打开了模拟器日志,发现info.plist问题仅与我添加的框架有关。为了仔细检查,我删除了该框架及其所有引用,然后尝试再次构建该模拟器,一切恢复正常。因此,在尝试了我在此处和其他文章中阅读的所有内容并且无法解决问题之后,我感觉自己像毛巾一样投入,但是在我上一次尝试时,我做了以下操作,并在24小时后成功了:

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

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

  3. 在Xcode中,我执行了Product / Clean,并按住alt的同时执行了Product / Clean Build Folder。我认为,如果您执行第2种操作中的后一种操​​作,则不需要“产品/清洁”功能,但是我正在抢救稻草

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

  5. 在添加框架之前先将目标位置设置为“框架”,然后勾选“仅在安装时复制”(此部分以粗体显示,因为这是我从最初的尝试中所做的唯一更改),将框架添加到了复制文件阶段。

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


1

可能的XCode 9更新-将一堆文件(包括Info.plist)移到“支持文件”组后,我遇到了这个问题。在XCode 9之前,我从未发生过此错误,因此,这是我在将文件添加/添加到组中时所做的不同操作,或者是带有XCode 9更新的新内容。

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

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


1

这为我工作:

  • 转到Finder上的info.plist文件。
  • 拖动并将其添加到项目文件夹(不复制)
  • 删除以前的参考(仅参考,不要移至废纸))
  • 尝试再次运行

希望这可以帮助某人:)


1

上述或其他解决方案都没有对我有用。经过几天的搜寻,我找到了解决方案。

ionic cordova platform remove ios
ionic cordova platform add ios

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


1

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

针对目标B的ui测试:对目标B和A的依赖性


1

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

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

0

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


1
我确实查看了项目文件夹,并且其中有info.plist
narner 2014年

现在,尝试从以前的任何项目中复制info.plist文件。我已经以类似的方式解决了我的问题,它对我有用,对你也可能有用。
Dhaivat Vyas 2014年

我删除了plist并复制了另一个(以及重新安装XCODE),但仍然收到错误:/
narner 2014年

您能告诉我您遇到哪个错误吗?
Dhaivat Vyas 2014年

1
您还可以观看视频:youtube.com/watch?
v=gYh4_80jHDk&feature=youtu.be

0

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


0

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

这就是我发现的。

几周前,我为我的项目下载了一个github目标c库到我的Downloads文件夹中。然后,我用“将文件添加到...”添加了该librabry,并且该库运行正常。

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

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

这份Apple文件提供了很大的帮助:https : //developer.apple.com/library/ios/qa/qa1649/_index.html

祝好运


0

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

点击结果,您将在“构建设置”下找到它。

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


0

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


0

仅在阅读此页面上的所有其他答案后,才能执行此操作

因此,基本上其他答案可能就是您所需要的。我尝试了所有这些,但它们没有起作用。不是因为他们错了,而是因为我只是看着错误的地方。

基本上,错误消息只是指出:无法打开文件“ Info.plist”,等等。我注意到此页面上的所有答案都涉及与实际项目有关的plist文件(或者无论如何都是测试文件)。我仔细检查了1000次,他们肯定在正确的位置。

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

所以我只是使用命令行像下面这样在xcode之外编译了代码:

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..我搜索了该文件,实际上结果是给我的项目缺少libs:

在此处输入图片说明


0

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


0

带有截图的Real Project Example屏幕截图显示了解决此问题的另一种方法。

使用Swift 4和Xcode 9。

1-查看“步骤1视觉描述”中的图片所示的Xcode构建错误问题,它会告诉您文件所属的Xcode项目中的哪个子文件夹。在我的情况下,它是NVActivityIndi​​catorViewExample / Info.plist 。步骤1视觉描述

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

3-找到您的Info.plist文件,右键单击将其作为源代码文件打开。查看步骤3视觉描述以获取帮助。

4-复制代码并删除Info.plist文件。查看步骤4的视觉描述以获取帮助。

5-根据您的构建设置在项目内的文件夹中找到Info.plist文件应该存放的文件夹,然后右键单击该文件夹,然后单击“新建文件”。查看步骤5视觉说明以获取帮助。

6-确保您在要构建的应用程序类型(在本例中为iOS)的区域中,转到资源,然后选择“属性列表”。查看步骤6视觉描述以获取帮助。

7-在文件名中输入“ Info”(不带扩展名),确保为您的应用程序选择了“ Group”和“ Target”,然后单击“ Create”。查看步骤7视觉说明以获取帮助。

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


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.