我的导航面板上的"Info.plist"和"自定义iOS目标属性"有什么区别?

6

你好,我是iOS开发的新手。在许多情况下我们需要配置Info.plist文件。大多数教程告诉我要修改我的导航面板中的Info.plist文件,就像这个(Info.plist)。

然而,修改这个文件对我来说没有用。后来我找到了另一种解决方案。在项目->目标->信息中,你能找到一个“自定义iOS目标属性”。你也可以在这里设置你的属性列表,这对我来说效果很好。

所以我想知道这两个Info.plist之间有什么区别?因为大多数教程都指向第一个(对我无效),我认为必须有些错误。我该怎么做才能让它再次起作用?非常感谢。

2个回答

7
它们是相同的,Info.plist 是资源文件,第二个只是对它的引用。如果您尝试从项目中删除 Info.plist 文件,则无法再看到您提到的“自定义 iOS 目标属性”,它将显示如下内容:
信息来自 info.plist 不可用。文件可能不存在于特定路径中。
我认为您在 Info.plist 中做错了什么,导致您的设置不起作用。
另外,请确保目标的 info.plist 引用了您想要的正确文件。因为通常,我们会为项目拥有开发、测试等方案,并且它们也拥有不同的 plist 文件。
因此,请确保 INFOPLIST_FILE 在设置中引用了正确的文件: enter image description here

谢谢您的澄清!但是我如何确保我正在引用正确的文件?我已经检查了Build Settings -> Packaging -> info.plist FILE。路径显示为(MyProjectName)/Info.plist,看起来对我来说是正确的? - 胡思宇
@胡思宇 是的,它指的是正确的那个。所以我认为您在编辑资源时可能在info.plist中做错了什么。顺便问一下,您想修改什么设置?一般来说,如果您可以通过编辑“自定义iOS目标属性”来实现您想要的功能,就在那里完成,如果您在纯plist资源文件上编辑出了问题,可能会导致文件无法读取。 - Kjuly
我正在将我的应用程序连接到服务器,然后收到了一条消息:"应用传输安全性阻止了一个明文 HTTP (http://) 资源加载,因为它是不安全的。可以通过您应用程序的 Info.plist 文件进行临时例外配置。" 我在网上搜索了答案,并在我的 Info.plist 中添加了 "App Transport Security Settings" -> "Allow Arbitrary Loads"-> "YES"。但什么都没有改变。然后我再次在自定义的 iOS 目标属性中做了同样的事情,一切都变得正常了。所以我来这里问问题啦,哈哈。 - 胡思宇
@胡思宇 奇怪,编辑plist文件以修改“App Transport Security Settings”是完全可以的,一旦完成编辑,应该也会更新“Custom iOS Target Properties”中的设置。 - Kjuly
1
嘿,我刚刚重新创建了一个具有完全相同内容的Info.plist。我尝试再次编辑它,然后“自定义iOS目标属性”最终得到了更新!虽然仍然不知道问题出在哪里,但非常感谢你!! - 胡思宇

3

Info.plist vs 自定义的 iOS 目标属性

Info.plist[详情] 等同于 自定义的 iOS 目标属性

enter image description here

  1. 确保 构建设置 -> Info.plist 文件(INFOPLIST_FILE) 指向必要的文件(路径位置)
  2. 有时在更改 Info.plist 后,Xcode 不会更新 自定义的 iOS 目标属性。您可以将 Xcode 重启作为一种变通方法

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接