【发布时间】:2012-04-28 07:41:50
【问题描述】:
当我运行 XCode 'Archive' 命令时,我收到七条关于丢失文件的错误消息。大多数是用于应该存在的启动文件,但其中一个包含拼写错误的“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”文件时,它包含一个完整的图标列表。我在此处显示了 图标文件 (iOS 5),但该列表在 图标文件 下重复。 “Portait”拼写错误在那里,还有几个重复。乱七八糟的。
我知道 XCode 会自动为“Info.plist”生成一些内容,但是哪里这个长长的文件名列表来自哪里?而且,我怎样才能防止它们被生成?
我尝试了什么
- 我已运行“清理”并删除了 XCode 的“DerivedData”目录,但警告消息和虚假的 Info.plist 条目仍然存在。
- 我检查了本地化的“InfoPlist.strings”,但它只包含
/* Localized versions of Info.plist keys */这一行。 - 我查看了“.xcodeproj”包的内容,但没有发现它试图查找的文件。
- 我尝试将一个空的图标文件数组添加到我的“Info.plist”中,或者添加我想要的确切文件的名称。当我存档时,错误和重复的名称仍然会附加到末尾。
- 我尝试复制目标(与往常一样,复制了现有的
Info.plist文件)。归档新目标会导致同样的错误。 - 构建设置预处理 Info.plist 文件已关闭。我试着打开它;没什么区别。
- 我尝试关闭构建设置在 Info.Plist 文件中扩展构建设置。它告诉我正在尝试运行文件'$ {EXECUTABLE_NAME}'。我去了我的 'Info.plist' 并将 Executable file 从 '${EXECUTABLE_NAME}' 更改为硬编码文本值,并手动替换了其他 '${...}' 条目.尽管如此,它仍坚持尝试运行“${EXECUTABLE_NAME}”。可能添加到图标设置的任何内容也会覆盖我的可执行文件名称。
我不想做的事情
我可以通过将文件添加到项目中期望的名称(包括Default-Portait~ipad.png)来抑制警告。我真的宁愿首先阻止这些名称被添加到“Info.plist”,因为这些重复的条目可能会导致其他问题。
其他详情
该项目创建于 2011 年初,并已通过更新版本的 XCode 逐步迁移。它目前在 XCode 版本 4.3.2 (4E2002) 中开放。
【问题讨论】:
标签: ios xcode xcode4.3 info.plist