Ошибка проверки Xcode 4.0 CFBundleVersion - PullRequest
8 голосов
/ 09 октября 2011

Я пытаюсь обновить приложение для iPhone / iPad, которое я создал в версии Xcode 3.x.

Я добавил CFBundleVersion и другой в своем Info.plist, и я прошел все проверки, ноЯ все еще получаю сообщение об ошибке ниже.

Этот пакет недействителен.В файле Info.plist отсутствует требуемый ключ: CFBundleVersion (1091)

Я получаю его снова и снова, и я проверил CFBundleVersion, который уже находится в моем файле Info.plist.

Пожалуйста, помогите мне

Спасибо

Ниже приведен файл Info.plist.Я пересек проверить это несколько раз

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"   "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleDisplayName</key>
<string>${PRODUCT_NAME}</string>
<key>CFBundleDocumentTypes</key>
<array/>
<key>CFBundleExecutable</key>
<string>${EXECUTABLE_NAME}</string>
<key>CFBundleIconFile</key>
<string>icon.png</string>
<key>CFBundleIconFiles</key>
<array>
    <string>icon-57.png</string>
    <string>icon-72.png</string>
    <string>icon-144.png</string>
</array>
<key>CFBundleIdentifier</key>
<string>com.my-irc</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>${PRODUCT_NAME}</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>1.3.5</string>
<key>CFBundleSignature</key>
<string>coRC</string>
<key>CFBundleURLTypes</key>
<array>
    <dict>
        <key>CFBundleURLName</key>
        <string>Internet Relay Chat Server</string>
        <key>CFBundleURLSchemes</key>
        <array>
            <string>irc</string>
            <string>ircs</string>
        </array>
    </dict>
</array>
<key>CFBundleVersion</key>
<string>1.1</string>
<key>CQBuildType</key>
<string>personal</string>
<key>LSMinimumSystemVersion</key>
<string>3.1</string>
<key>LSRequiresIPhoneOS</key>
<true/>
<key>MVChatCoreCTCPVersionReplyInfo</key>
<string>http://colloquy.mobi</string>
<key>UIPrerenderedIcon</key>
<true/>
<key>UIRequiresPersistentWiFi</key>
<true/>
<key>UIStatusBarHidden</key>
<true/>
<key>UISupportedInterfaceOrientations</key>
<array>
    <string>UIInterfaceOrientationPortrait</string>
    <string>UIInterfaceOrientationLandscapeLeft</string>
    <string>UIInterfaceOrientationLandscapeRight</string>
    <string>UIInterfaceOrientationPortraitUpsideDown</string>
</array>
<key>UTExportedTypeDeclarations</key>
<array/>
<key>UTImportedTypeDeclarations</key>
<array/>
</dict>
</plist>

Ответы [ 4 ]

16 голосов
/ 09 ноября 2011

У меня была такая же проблема.Я решил это таким образом.В XCode 4.2 нажмите на цель.В сводном разделе вы увидите версию и номер сборки.Если вы установите их обоих на одно и то же, это сработает.Если вы просто установите только версию и проигнорируете поле сборки, вы получите ошибку.Это решило проблему для меня.

1 голос
/ 30 июля 2013

У меня тоже была эта проблема.Вот мое решение:

  1. Следуйте инструкциям Здесь
  2. Нажмите «Продукт»> «Очистить»
  3. Нажмите «Окно»> «Органайзер»
    1. Нажмите Архивы
    2. Нажмите Подтвердить
1 голос
/ 08 июня 2012

В моем случае CFBundleVersion состоит из номера редакции рабочей копии Subversion при сборке. Это делается с помощью сценария, который находится в:

Target -> Build Phases -> Run script

После проверки журнала сборки выясняется, что двоичные файлы Subversion, которые использует Xcode, отличаются от тех, которые я использую в командной строке (версия MacPorts). Полученная ошибка:

svn: The path '.' appears to be part of a Subversion 1.7 or greater /.../

После изменения строки ниже:

REV=`svnversion -nc | /usr/bin/sed -e 's/^[^:]*://;s/[A-Za-z]//'`

до:

REV=`/opt/local/bin/svnversion -nc | /usr/bin/sed -e 's/^[^:]*://;s/[A-Za-z]//'`

все снова работает нормально.

1 голос
/ 09 октября 2011

Звучит так, как будто что-то пошло не так при переходе с 3.x на 4.0. Несколько вещей для проверки:

  • В настройках целевой сборки проекта убедитесь, что «Info.plist File» указывает направильный файл.
  • Убедитесь, что в поле «Версия» в сводке целей проекта указано правильное значение
  • В наши дни должно быть две записи (по умолчанию): CFBundleVersion и CFBundleShortVersionString, хотя я сомневаюсь, чтопроблема
  • Убедитесь, что у вас нет пробела до или после "CFBundleVersion"

Иначе, вы сможете вставить свой список здесь.В Xcode щелкните правой кнопкой мыши на файле plist и выберите «Открыть как»> «Исходный код».Это даст вам raw-xml, который вы можете вставить в свой вопрос (отредактируйте свой вопрос, чтобы обновить его).

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