Xcode 4存档版本未指定

时间:2011-03-16 21:36:04

标签: iphone xcode xcode4

我正在尝试在Xcode 4中构建我的iPhone应用程序的发布版本,当它完成并启动Organizer时,没有版本号,它只是说“未指定”。这使我无法使用Xcode 4的验证和提交功能。

有关如何解决此问题的任何想法?我的版本号在我的项目设置中设置,因此不确定是什么导致了问题。

8 个答案:

答案 0 :(得分:56)

转到info.plist文件并创建一个新属性“bundle versions string,short”并提供相同的版本号,它将显示在组织者中。

答案 1 :(得分:34)

  

有关其他详细信息,请参阅this question

接受的答案并未完全解决所有项目的问题。有几个问题都是彼此相关的,我将全部介绍它们。

Xcode 4 Project无法编译静态库

  

相关问题:Xcode 4 can't locate public header files from static library dependancy
  相关问题:“lexical or preprocessor issue file not found ” in Xcode 4

错误可能包含; 缺少标题文件,“词汇或预处理程序问题”

解决方案:

  1. 检查“用户标题路径”是否正确
  2. 将“始终搜索用户路径”设置为“是”
  3. 在项目中创建一个组合“索引标题”并将标题拖到该组,不要在提示时添加到任何目标。
  4. 具有静态库依赖性的Xcode 4项目无法创建有效的存档

      

    相关问题:https://stackoverflow.com/questions/5271496/xcode4-ios-4-3-no-packager-exists-for-the-type-of-archive

    错误可能包含;

    Xcode 4 project with static library dependancy fails to create a valid archive

    缺少标识符和版本。 “存档类型不存在打包程序”

    解决方案:

    1. 对于所有依赖项,请将“跳过安装”构建设置设置为“是”
    2. 将Build Phases中的任何“Public”标题移动到“Project”

答案 2 :(得分:8)

谢谢,但我需要3个步骤才能使用我的项目框架来解决问题:

  1. 为每个依赖项目将目标构建设置/“跳过安装”属性设置为“

  2. 清除每个项目的目标构建设置“安装目录”属性

  3. 对于每个项目,移动每个标题从“构建阶段/构建设置/复制标题”公共/私有项目

答案 3 :(得分:2)

如果您的项目引用了共享库的配置错误的子项目,也会发生这种情况。浏览项目使用的任何共享库的Xcode项目,并确保目标的“Skip Install”构建设置设置为“Yes”。然后重建存档。

答案 4 :(得分:2)

我通过临时分发构建解决了所有这些问题。

  • 如果您具有静态库依赖项并为Ad-hoc发行版创建新的构建配置,请确保库依赖项还具有匹配的构建配置。否则,他们默认使用Debug构建配置(或者我认为是第一个配置)并且将链接到您的构建。
  • 有关重点,如果在其他答案中不明确:为项目设置跳过安装为NO并拥有有效的安装目录集。否则,它们应分别设置为YES并清空。

另外,我设置了一个有效的图标来删除验证警告,但我不确定这是否是工作包所必需的。

答案 5 :(得分:0)

将Xcode从4.0更新到4.1后,我发现版本信息丢失,并且在特定的“目标”上显示为空白。显然现在版本号正在构建字段中显示。

只需将您的应用程序版本号添加到“目标”的版本字段中,它将隐式更新info.plist文件。

归档项目,现在您应该能够在档案中看到版本号。

你应该好好去。

HTH。

答案 6 :(得分:0)

我在存档上没有版本或标识符的问题最终很简单。我有一个项目有两个目标。我有两个方案,每个方案构建一个目标,或者我认为。我的iPad方案将iPad和iPhone目标列在方案设置的构建目标中。就这么简单,它正在构建两个目标而不是创建有效的存档。

答案 7 :(得分:0)

我遇到了类似的问题。首先我是制作通用应用程序,但最终客户想要iPhone和iPad应用程序的单独价格。所以我在xcodeproject中创建了新目标。

当我想归档iPad目标时,我有版本未指定的问题。 这是解决方案。

在项目集跳过安装

如果要将 iPhone 项目集跳过安装归档到 iPhone目标中的,并且 iPad目标中跳过安装

如果要将 iPad 项目集跳过安装归档到 iPhone目标中的,并且跳过安装 iPad 目标中的,它应该可以正常工作。