Мое приложение для iOS имеет + в названии. Пакет недействителен из-за этого. Нужна помощь в решении - PullRequest
7 голосов
/ 26 ноября 2011

Я нашел здесь пару очень похожих или идентичных потоков, но они, казалось, заканчивались до полного разрешения.

Мое приложение работает на моем устройстве без ошибок сборки. Я пытаюсь отправить приложение на утверждение и получаю следующую ошибку: «Этот пакет недействителен. Имя исполняемого файла, сообщаемое CFBundleExecutable в файле info.plist, может не содержать ни одного из этих символов ..... +». Поэтому я открыл свой файл info.plist и изменил имя исполняемого файла info.plist с макроса $ {EXECUTABLE_NAME} на имя моего приложения без +. Я сделал новый архив, но затем получаю сообщение об ошибке: «Сбой кода с кодом выхода 1».

В другом потоке я прочитал, чтобы просто изменить имя цели, удалив оттуда знак + и оставив в файле info.plist макрос для имени исполняемого файла, перезапустив Xcode и затем снова заархивировав. Это позволило мне архивировать, но я получил ту же ошибку в iTunes Connect.

Я работал над этим весь день и не нашел решения. Может кто-нибудь, пожалуйста, укажите мне в правильном направлении? Спасибо за любую помощь.

Ответы [ 5 ]

8 голосов
/ 26 ноября 2011

Вы должны изменить ${PRODUCT_NAME} в настройках сборки. И вы должны установить имя для отображения в Отображаемое имя пакета в Info.plist.

Смотрите здесь для более подробной информации: Имя пакета, Имя исполняемого файла, Имя продукта ... что-нибудь еще?

1 голос
/ 18 июня 2013

Есть несколько способов сделать эту работу, но это кажется самым простым / быстрым

  • Сначала измените « Название продукта », чтобы оно не содержало специальных символов - как изменить Название продукта
  • Затем я изменил " отображаемое имя пакета " (CFBundleDisplayName) и " Имя пакета " (CFBundleName) в моем Info.plist, чтобы он был жестко закодирован, чтобы иметь '+' вместо ссылки на переменную $ {PRODUCT_NAME}.
  • Если вы уже создали приложение и профиль распространения в iTunesConnect, вам также следует изменить « Идентификатор пакета » в Info.plist - жестко закодируйте его в соответствии с тем, что вы ввели в iTunesConnect, а не в xxx. $ {PRODUCT_NAME : rfc1034identifier} переменная (идентификатор пакета iTunesConnect отображается в сообщении об ошибке, если вы пытаетесь создать архив перед его изменением)
  • Наконец, создайте свое приложение, и Apple не должна жаловаться на персонажа при проверке. Ваше приложение должно по-прежнему отображаться со знаком «+» на домашнем экране, когда вы запускаете на устройстве из-за жестко закодированных связок ключей.

Очистите симулятор и устройство

  • Если после этого сборка для iOS Simulator не будет работать (сообщение «ошибка: не удалось подключиться к идентификатору процесса 0»), перейдите в строку меню «IOS Simulator» и нажмите «Сбросить содержимое и настройки…»
  • Если запуск на вашем устройстве не работает после этого, удалите приложение с iPhone / iPad и запустите его снова

Я оставил имя исполняемого файла как есть в Info.plist, потому что переменная $ {EXECUTABLE_NAME}, на которую она ссылается по умолчанию, состоит из $ {PRODUCT_NAME} и нескольких других переменных, с которыми я не хотел связываться.

спасибо Натану Уэлчу, ответившему за основу этого урока

1 голос
/ 26 ноября 2011

дважды щелкните по цели и выберите tab.search для параметров сборки для имени продукта и измените его на без + sign.Как упоминалось ранее, отображаемое имя пакета в info.plist может иметь то же имя с + sign

0 голосов
/ 31 октября 2013
1.This bundle is invalid : Make sure your using bundle id is available or deleted by some one and also open the distribution provision profile is created for app store status is valid or invalid.

2. ${EXECUTABLE_NAME} : please provide your app name with + in plist 

3. codesign failed with exit code 1 : see this link and do like /3068467/nepravilnyi-ili-nepodhodyaschii-format-faila-obekta-iphone-codesign
0 голосов
/ 26 ноября 2011

Вы должны восстановить. Вы не можете вмешиваться в комплект после его сборки.

...