Неожиданный ключ CFBundleExecutable

Проведя некоторое время по поиску в Google, что-то подсказывает мне, что проблема новая.

У нас был полностью функциональный проект, поддерживающий iOS7-8. Конечно, это было несколько раз успешно отправлено в AppStore.

Мы используем контейнеры, много отслеживания и мониторинга, такие как GA и Instabug.

Теперь мы решили отправить версию приложения, созданного на Xcode 7 на iOS 9, в TestFlight.

Мы отключили биткод, так как многие контейнеры, такие как Flurry и другие готовые библиотеки, не включают его.

Сборка прошла успешно, после подачи в iTunesConnect мы получим следующее: введите описание изображения здесь

Мы имели то же самое для библиотеки GoogleAppIndexing (также в контейнерах), но мы удалили ее, просто чтобы она работала. Теперь - Instabug. Это заходит слишком далеко, поэтому я пытаюсь понять, что происходит в iOS 9, и каковы изменения, которые привели к тому, что полностью рабочий проект начал бросать такие ошибки.

Любые мысли и идеи приветствуются! Пожалуйста, поделитесь своим опытом, и если я что-то пропущу, я с радостью поделюсь своими шагами.

Ответ 1

Сегодня я столкнулся с той же проблемой с тем же самым точным сообщением об ошибке при попытке отправить наше приложение (используя Xcode 7 beta 5), ​​но вместо бит instabug.bundle это было для меня TencentOpenApi_IOS_Bundle.bundle.

Я решил проблему, найдя именованный пакет в проекте, а затем, как и сообщение об ошибке, отредактировал Info.plist, который находится в комплекте, удалив ключ CFBundleExecutable. Клавиша CFBundlePackageType уже установлена ​​на BNDL, поэтому я ее не трогал.

После этих изменений я сделал Product > Clean, а затем без проблем отправил приложение в App Store.

Надеюсь, это поможет.

Ответ 2

Обнаружено это с помощью AviarySDK в Xcode 7 GM, при этом он отправляется в App Store.

Сначала я проверил бы, есть ли у вас последняя версия вашей библиотеки - возможно, этот поставщик уже исправил это. Однако, если вы все еще сталкиваетесь с этой проблемой, поскольку Sleiman описывает, что вам нужно удалить ключ CFBundleExecutable из файла plist для повреждающей библиотеки.

Cmd + Shift + O и введите "Info.plist", вы можете найти соответствующий файл:

введите описание изображения здесь

После редактирования plist вы можете видеть дескриптивные имена (вместо CFBundleExecutable и других ключей. Я не мог редактировать этот файл во внешнем редакторе, поэтому мне пришлось переключиться на просмотр исходных ключей/значений по праву -Изменение списка:

введите описание изображения здесь

Теперь вы можете увидеть клавишу CFBundleExecutable (которая имеет описание "Исполняемый файл" ), которую вы можете удалить.

Для AviarySDK я сделал это дважды, один раз для каждого Info.plist, увиденного на приведенном выше изображении, и затем смог успешно отправить.

Ответ 3

Я решаю эту проблему следующим образом: Мы должны удалить все "Исполняемые файлы" следующих пакетов:

  • GooglePlus.bundle
  • GPPCommonSharedResources.bundle
  • GPPShareboxSharedResources.bundle

Убедитесь, что "Bundle type code" равен BNDL

Важно: ничего не редактируйте в основном файле info.plist.

Прикрепленные экраны, поскольку они должны быть его "info.plist", перечисленные выше каждого пакета.

введите описание изображения здесь

введите описание изображения здесь

введите описание изображения здесь

Ответ 4

Вот что сработало для меня

  • Apple-Shift-F, поиск CFBundleExecutable
  • Нажмите каждый из них, кроме "PODS" или вашей основной цели.
  • Удалить его (удалить ключ)

введите описание изображения здесь

Ответ 5

Если сборка представлена ​​через Меньше (<) Xcode 7.0, она будет отправлена, а также Я решил это следующим образом: Xcode 7:

Искал info.plist в проектах Project Navigator, как показано на следующем рисунке:

введите описание изображения здесь

Теперь эти файлы info.plist были открыты один за другим и удалены ключ BundleExecutable EXCEPT целевой info.plist

Теперь очищается проект и достигается, и он отправляется без проблем.

Ответ 6

У меня была такая же проблема в библиотеке Карт Google, и я удалил ключ CFBundleExecutable внутри GMSCoreResources.bundle (Info.plist), который является чистым проектом SDK info.plist и загружается в appstore.

Счастливое программирование.

введите описание изображения здесь

Ответ 7

Просто проверьте настройки Build Settings = > Enable Bitcode и установите NO

Ответ 8

Еще одно примечание: иногда, если у вас есть дополнительные цели, будут целевые свойства, которые могут также включать ключ (в разделе "Информация" ), поэтому обязательно проверьте их и удалите из него. Я обнаружил это с одним из пакетов, которые я пытался включить. Я удалил информацию из plist, но продолжал получать ошибку.

Ответ 9

Если вы видите эту ошибку из библиотеки, установленной через CocoaPods, попробуйте pod update <OFFENDING POD NAME>

Это решило проблему для меня.