Версия архива Xcode 4 не указана - PullRequest
43 голосов
/ 17 марта 2011

Я пытаюсь создать релизную версию своего приложения для iPhone в Xcode 4, и когда он завершает работу и запускает Organizer, номер версии отсутствует, он говорит только «не указано».Это мешает мне использовать функции проверки и отправки в Xcode 4.

Есть идеи, как это исправить?Мой номер версии установлен в настройках моего проекта, поэтому не уверен, что является причиной проблемы.

Ответы [ 8 ]

56 голосов
/ 17 марта 2011

Перейдите к файлу info.plist и создайте новое свойство "комплектация версий строк, коротких" и укажите тот же номер версии, и он будет отображаться в органайзере.

34 голосов
/ 09 апреля 2011

Подробнее см. в этом вопросе .

Принятый ответ не полностью решает проблему для всех проектов.Есть несколько проблем, которые все связаны друг с другом, и я расскажу о них все.

Проект Xcode 4 не в состоянии скомпилировать статическую библиотеку

Связанный вопрос: Xcode 4 canне находить общедоступные заголовочные файлы из статической зависимости библиотеки
Смежный вопрос: «Не найден файл проблемы лексического или препроцессорного кода» в Xcode 4

Ошибки

Решения:

  1. Проверьте правильность "путей к заголовкам пользователя"
  2. Set "может включать в себя: отсутствующие файлы заголовков," лексическая проблема или проблема препроцессора "Всегда ищите пути пользователя "к ДА
  3. Создайте групповой вызов" Индексирование заголовков "в своем проекте и перетащите заголовки в эту группу, НЕ добавляйте ни к каким целям при появлении запроса.

Проект 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

Отсутствует идентификаторEntifier и версия.«Не существует Packager для типа архива»

Решения:

  1. Для всех зависимостей установите «Пропустить установку» для настройки сборки «Да»
  2. Перемещение любых «публичных» заголовков на этапах сборки в «Проект»
8 голосов
/ 19 мая 2011

Спасибо, но мне нужно было 3 шага, чтобы полностью решить проблему с моей структурой проекта:

  1. установить настройки целевой сборки / " Пропустить установку " свойство в " ДА"для каждого проекта зависимостей

  2. очистить Настройки целевой сборки" Каталог установки"для каждого проекта

  3. для каждого проекта, переместить все заголовки из раздела «Этапы сборки / Настройки сборки / Копировать заголовки» Public / Private в Project

2 голосов
/ 10 июня 2011

У меня были все эти и другие проблемы со сборкой специального выпуска.

  • Если у вас есть статические зависимости библиотеки и вы создаете новую конфигурацию сборки для своих специальных распределений, убедитесь, чтоБиблиотечные зависимости также имеют соответствующую конфигурацию сборки.В противном случае они по умолчанию используют конфигурацию сборки Debug (или какую-либо конфигурацию первой, я думаю) и будут связаны с вашей сборкой.
  • Для акцента, если в других ответах неясно: set Пропустите Install в NO для вашего main проекта и получите действительный Installation Directory set.В противном случае они должны быть установлены в YES и соответственно пустыми.

Кроме того, я установил действительный значок, чтобы удалить предупреждение проверки, но я не уверен, требовалось ли это для рабочего пакета.

2 голосов
/ 08 апреля 2011

Это также может произойти, если ваш проект ссылается на неправильно настроенный подпроект для общей библиотеки.Просмотрите проекты Xcode для всех общих библиотек, которые использует ваш проект, и убедитесь, что для параметра сборки «Пропустить установку» для цели установлено значение «Да».Затем пересоберите архив.

0 голосов
/ 05 июля 2012

У меня была похожая проблема. Сначала я делал универсальное приложение, но в итоге клиент хотел раздельных цен на iPhone и iPad. Поэтому я создал новую цель в xcodeproject.

Когда я хотел заархивировать целевой iPad, у меня возникла проблема с неопределенной версией. Вот решение.

В наборе проектов Пропустить установку до NO .

Когда вы хотите архивировать iPhone набор проектов Пропустить установку в NO в iPhone target и Пропустить установку до ДА в IPad target .

Если вы хотите архивировать iPad проект установлен Пропустить установку до ДА в iPhone target и Пропустить установку до NO в iPad target, и оно должно работать.

0 голосов
/ 07 января 2012

Моя проблема с отсутствием версии или идентификатора в архиве в конце была простой.У меня есть один проект с двумя целями.У меня есть 2 схемы, каждая строит одну цель, или я так думал.В схеме iPad были указаны цели iPad и iPhone, указанные в настройках сборки схемы.Это было так просто, он строил обе цели и не создавал действительный архив.

0 голосов
/ 28 июля 2011

После обновления XCode с 4.0 до 4.1 я обнаружил, что информация о версии отсутствовала и была пустой на определенной «цели».И, видимо, теперь номер версии отображался в поле сборки.

Просто добавьте номер версии своего приложения в поле версии для «Target», и оно неявно обновит файл info.plist.

Заархивируйте проект, и теперь вы сможете увидеть номер версии в Архиве.

И вам будет хорошо.

HTH.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...