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

时间:2014-10-04 03:46:18

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

我遇到了似乎常见的错误,因为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文件位于正确的绝对位置。类型和位置正确,如下图所示:

plist path

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

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

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

23 个答案:

答案 0 :(得分:126)

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

  1. 转到:App Target
  2. 请参阅识别并选择Plist
  3. 另见截图

    enter image description here

    享受

答案 1 :(得分:50)

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

答案 2 :(得分:25)

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

目标:' App' - > '构建设置' - > '包装' - > ' Info.plist文件(字段)' - 位置应该是正确的

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

Apple似乎默认检查此位置以查找Info.plist。 清洁&建立你的项目。它会工作。为我工作。

答案 3 :(得分:9)

XCode 10

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

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,然后重新运行。

答案 4 :(得分:6)

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

答案 5 :(得分:4)

去目标。右键单击测试目标。 yourProjectTests并将其删除

答案 6 :(得分:2)

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

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

简单步骤: -

在项目中,单击项目文件 - > ProjectNameTests (在目标下) - >构建设置 - >打包 - > Info.plist您可以在此处更改文件路径。

答案 7 :(得分:1)

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

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

答案 8 :(得分:1)

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

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

答案 9 :(得分:1)

上述或其他解决方案均未对我有用。经过几天的搜索,我找到了一个解决方案。

ionic cordova platform remove ios
ionic cordova platform add ios

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

答案 10 :(得分:1)

这对我有用:

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

希望这有助于某人:)

答案 11 :(得分:1)

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

enter image description here

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

答案 12 :(得分:1)

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

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

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

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

  3. 在Xcode中,我做了一个产品/清洁,在按住alt时,做了一个产品/清洁构建文件夹。我想如果你做2的后者,产品/清洁是不必要的,但我抓住吸管

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

  5. 制作目的地"框架", TICKED"仅在安装时复制"在添加框架之前(这部分是粗体,因为它是我从原始尝试中改变的唯一内容)将框架添加到复制文件阶段。

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

答案 13 :(得分:1)

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

答案 14 :(得分:0)

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

答案 15 :(得分: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 -   该app /利布斯/ 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

enter image description here

所以它告诉我哪个 plist文件有问题:Libs/STPopup/Info.plist ..我搜索了那个文件,事实证明我得到了一个缺少libs的项目:

enter image description here

答案 16 :(得分:0)

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

点击结果,您会在“构建设置”下找到该字段。

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

答案 17 :(得分:0)

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

答案 18 :(得分:0)

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

使用Swift 4和Xcode 9。

1 - 查看Xcode构建错误问题,如' 步骤1视觉描述'中的图片所示。它会告诉你文件所属的Xcode项目中的哪个子文件夹。在我的例子中,它是NVActivityIndi​​catorViewExample / Info.plist。 Step 1 Visual Description

2 - 但您也可以通过转到“构建设置”来查看Info.plist文件的位置。您的Xcode项目中的部分'目标'区域如' 步骤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-Type" Info"如果文件名没有扩展名,请确保为您的应用程序选择了组和目标,然后单击"创建"。请查看Step 7 Visual Description 以获取帮助。

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

答案 19 :(得分:0)

上述答案不适用于我的案例。

这是我发现的。

几周前,我下载到我的Downloads文件夹,为我的项目提供了一个github objective c库。然后我添加了librabry“Add Files to ...”并且库工作得很好。

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

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

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

祝你好运

答案 20 :(得分:0)

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

答案 21 :(得分:0)

这对我有用:

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

答案 22 :(得分:0)

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