我切换到Xcode 4并加载了我的项目,它在Xcode 3中完美运行。当我运行它时,我收到一条错误消息:
无法打开“Info.plist”文件,因为没有这样的文件。
我查看了Xcode中的文件,它就在那里。那为什么不能打开呢?
答案 0 :(得分:139)
该文件存在于Xcode项目文件夹中是不够的。您是否验证了应用程序目标的构建设置中是否正确引用了该文件,以便将其正确复制到应用程序包中?它与标准资源不完全相同(即,它不是目标成员资格复选框中的目标成员),而是构建设置,因为它在正确格式化的包中具有重要性。
导航到项目(在Project导航器中选择它),在目标列表中选择应用程序目标,然后单击Build Settings选项卡。在“打包”部分下,确保“Info.plist文件”已正确设置为位置/文件名。
答案 1 :(得分:15)
去目标。右键单击测试目标。 yourProjectTests并将其删除
答案 2 :(得分:10)
答案 3 :(得分:9)
答案 4 :(得分:8)
对我来说,这是因为启用了plist文件的本地化(在跳板上提供应用程序的语言特定标识符)。
在 目标>构建设置>打包> info.plist文件 键中,我更改了 AppName / AppName-info.plist 到 AppName / Base.lproj / AppName-info.plist ,一切都按预期工作。
请记住,它的lproj是小L而不是大写I.
希望这有帮助。
答案 5 :(得分:1)
在Xcode 4.6下如果appname-Info.plist在项目下不可见 - >目标/信息,转到摘要选项卡,它将要求appname-Info.plist文件。从建议中选择正确的文件。
答案 6 :(得分:1)
在Targets> Packaging> Info.plist文件下,确保文件路径正确。
答案 7 :(得分:1)
我知道已经有一段时间了,但是我遇到了同样的问题,而且我发现的答案对我来说也不是很清楚,因此我决定使用大量屏幕截图进行说明。
1)首先,在xcode中打开右侧面板,然后单击您的.plist文件:
2)其次,在右侧面板上选择Relative to project
位置,然后复制其下方的链接:
3)第三,转到主项目设置,选择目标,然后单击“构建设置”选项卡:
4)最后,在搜索字段中键入Info.plist
,双击现有路径并粘贴您之前复制的链接:
最后,清理项目Shift
+ Cmd
+ K
,然后重新运行。
答案 8 :(得分:0)
在我的情况下,文件存在,但格式不正确。如果您最近在文本编辑器中编辑了Info.plist,请撤消该更改,然后重试,而不会破坏标记有效性。
答案 9 :(得分:0)
对我来说,问题是错误是指我正在使用的库中的Info.plist
,而不是项目中的实际.plist
文件。
也许这将有助于将来。
答案 10 :(得分:0)
在我的情况下,其中一个密钥在添加ATS合规性标志时被遗漏了
<key>NSAppTransportSecurity</key>
而不是正确的如下
<true/>
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoadsInWebContent</key>
<true/>
<key>NSAllowsArbitraryLoads</key>
<true/>
<key>NSExceptionDomains</key>
<dict>
<key>some-service1.com</key>
<dict>
<key>NSExceptionAllowsInsecureHTTPLoads</key>
<false/>
</dict>
<key>some-service2.com</key>
<dict>
<key>NSExceptionAllowsInsecureHTTPLoads</key>
<false/>
</dict>
</dict>
</dict>
我有这个
<dict>
<key>NSAllowsArbitraryLoadsInWebContent</key>
<true/>
<key>NSAllowsArbitraryLoads</key>
<true/>
<key>NSExceptionDomains</key>
<dict>
<key>some-service1.com</key>
<dict>
<key>NSExceptionAllowsInsecureHTTPLoads</key>
<false/>
</dict>
<key>some-service2.com</key>
<dict>
<key>NSExceptionAllowsInsecureHTTPLoads</key>
<false/>
</dict>
</dict>
</dict>
尽管一些在线XML验证器确实说过XML是正确的(但事实并非如此),我使用了
plutil filename.plist
转到plist文件所在的目录(来自终端),并了解有问题的确切行号 参考:(https://stackoverflow.com/a/32494850/5438240)
答案 11 :(得分:0)
这个问题对我来说也是一样,当我合并其他项目的项目时也发生了,上面两个项目的设置有所不同,请在Text Edite中打开info.plist文件,解决问题然后保存,一切好!
答案 12 :(得分:0)
对于本机反应,请转到 ios/{project name}/Info.plist 在 vs 代码或任何其他代码中打开它,并检查在大多数情况下所有的键和字符串都必须在里面! 您一定是为了安装 lib 而更改了它,并且在其中犯了一些错误。