ios - XCode 将重复和不正确的图标文件名添加到 Info.plist

标签 ios xcode xcode4.3 info.plist

当我运行 XCode“存档”命令时,我收到 7 条有关丢失文件的错误消息。大多数都是用于应该存在的启动文件,但其中一个包含拼写错误的“Portait”。

warning: Icon specified in the Info.plist not found under the top level app wrapper: Default-Portait~ipad.png (-19007)
Unable to validate your application. - (null)

几个月前我确实错误地输入了该文件名,但我以为我已将其从项目中删除了。这是我的应用程序的“Info.plist”文件。请注意,除了图标文件之外,它没有图标条目。

Info.plist for app

这是我的目标摘要。我已指定启动图像。

XCode Target Summary

当我查看新创建的存档中的“Info.plist”文件时,它包含完整的图标列表。我在此处显示了图标文件 (iOS 5),但该列表在图标文件下重复。那里有“Portait”拼写错误,还有几个重复的地方。真是一团糟。

enter image description here

我知道 XCode 会自动为“Info.plist”生成一些内容,但是这个长长的文件名列表是从哪里来的?而且,我怎样才能防止它们生成?

我尝试过的

  1. 我已运行“Clean”并删除了 XCode“DerivedData”目录,但警告消息和虚假 Info.plist 条目仍然存在。
  2. 我检查了本地化的“InfoPlist.strings”,但它仅包含行 /* Info.plist 键的本地化版本 */
  3. 我查看了“.xcodeproj”包的内容,但没有发现它试图查找的文件。
  4. 我尝试将一个空的图标文件数组添加到我的“Info.plist”中,或者添加我想要的确切文件的名称。当我存档时,错误的和重复的名称仍然会附加到末尾。
  5. 我尝试复制目标(与往常一样,复制现有的 Info.plist 文件)。归档新目标会导致相同的错误。
  6. build设置预处理 Info.plist 文件已关闭。我尝试打开它;这没有什么区别。
  7. 我尝试关闭build设置在 Info.Plist 文件中展开build设置。它告诉我正在尝试运行文件“${EXECUTABLE_NAME}”。我转到“Info.plist”并将可执行文件从“${EXECUTABLE_NAME}”更改为硬编码文本值,并手动替换了其他“${...}”条目。尽管如此,它仍然尝试运行“${EXECUTABLE_NAME}”。可能添加到图标设置中的任何内容也会覆盖我的可执行文件名称。

我宁愿不做的事情

我可能可以通过向项目添加具有所需名称的文件来抑制警告,包括 Default-Portait~ipad.png。我真的宁愿首先阻止将这些名称添加到“Info.plist”中,因为这些重复的条目可能会导致其他问题。

其他详细信息

该项目创建于 2011 年初,并已通过较新版本的 XCode 逐步迁移。目前在 XCode 版本 4.3.2 (4E2002) 中开放。

最佳答案

找到它:选择一个目标并转到“信息”选项卡,您会得到类似于“Info.plist”的内容...但在那里所做的更改可能会覆盖您的 Info.plist。这尤其令人困惑,因为我故意让多个目标共享相同的“Info.plist”文件,以避免需要在多个位置进行相同的更改。

我仍然欢迎解释这些设置在“.xcodeproj”包中的存储位置。

关于ios - XCode 将重复和不正确的图标文件名添加到 Info.plist,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10361612/

相关文章:

ios - iOS 有 'Notification Listener' 吗?

ios - Swift - 在刷新控件中禁用默认重新加载表格 View

iphone - 在 UIViewController 中更改 View

swift - textView 和键盘之间的空间

objective-c - 创建第二个窗口

xcode - 在主从应用程序模板中加载不同的 View Controller

iphone - 代码签名错误 : Certificate identity 'iPhone Developer: My Name (xxx)' appears more than once in the keychain

ios - JSON POST 在 Poster/HTTP Client(Mac) 中工作正常,但在 XCode 中的 iOS 应用程序中工作不正常

c++ - 无法使用 boost.sh 脚本制作的 Boost 框架来制作 cpp-netlib

ios - Swift if let 语句导致 <<error type>> 而不是自定义对象