Ошибка установки "Недопустимый аргумент" при попытке запустить приложение "Сегодня" - программирование
Подтвердить что ты не робот

Ошибка установки "Недопустимый аргумент" при попытке запустить приложение "Сегодня"

Я добавил vanilla Today Application Extension и запустил новую схему, созданную XCode.
После того, как он закончит строительство ( "Build Succeeded" ), он сразу же с ошибкой ошибся:

Ошибка установки
Недействительным аргумент

Я пытался найти ответы в течение 6 часов, пока не повезло. Пожалуйста, помогите!

4b9b3361

Ответ 1

Убедитесь, что идентификатор Bundle не пуст в Info.plist

Ответ 2

Попробуйте следующее:

  • Выйти из Xcode
  • Очистить ~/Library/Разработчик/Xcode/DerivedData вручную
  • rm -rf "$ (getconf DARWIN_USER_CACHE_DIR)/org.llvm.clang/ModuleCache"
  • iOS Simulator > Reset Содержание и настройки

Ответ 3

Возможно, вы связываете конфликтующую "содержащую" ссылку (синюю) папку.

Подсказка: измените имя указанной папки "содержимое":)

Ответ 4

Это также может произойти в Xcode 7, потому что "Обновить до рекомендуемых настроек" изменит CFBundleIdentifier, чтобы указать на $(PRODUCT_BUNDLE_IDENTIFIER) вместо старого $(BUNDLE_IDENTIFIER).

Apple говорит в примечаниях к выпуску Xcode 7, что PRODUCT_BUNDLE_IDENTIFIER теперь является "рекомендуемым местом для установки идентификатора Bundle для цели". Поэтому, если вы используете BUNDLE_IDENTIFIER в любом другом месте вашего проекта, обязательно измените его на PRODUCT_BUNDLE_IDENTIFIER, чтобы синхронизировать ситуацию.

Ответ 5

Эта проблема произошла в моем случае, когда память телефона была слишком низкой для установки приложения. Я очистил телефон и вуаля!

Другим намеком может быть этот пост.

Ответ 6

Я получал ту же ошибку - хотя и в разных условиях - и мне потребовалось некоторое время, чтобы понять, что я случайно побеседовал с Info.plist(спасибо пользователю2866588!) с помощью операции поиска и замены.

После исправления этого файла ошибка исчезла. Это длинный выстрел, но вы никогда не знаете...

Ответ 7

Описание изображения здесь.!! Я получил эту ошибку, просто введите идентификатор пакета. (Вы можете получить идентификатор пакета, щелкнув правой кнопкой мыши на info.plist и перейдите к "Открыть как" / "Исходный код" здесь просто найдите это "CFBundleURSchemes" под этим именем, тег строки содержит ваш идентификатор пакета) Копировать идентификатор пакета и пропустить его TARGET выберите "General", теперь в Identity вы увидите там "Bundle Identifier" и введите его. то просто запустите код. Счастливое кодирование!!!

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

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

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

Ответ 8

Я получил эту ошибку, когда у моего тестового телефона была небольшая память (около 288 МБ бесплатно). После перезагрузки и очистки некоторых кэшированных данных мне удалось установить мое приложение.

Ответ 9

У меня такая же проблема, и из-за низкой памяти на телефоне. Я удалил некоторые приложения и перезапустил телефон, который был доставлен доступным хранилищем.

Ответ 10

Я получил эту ошибку после установки новых модулей (AWS) в свой проект. Как-то была удалена запись в файле настроек сборки для Info.plist. Введя правильный путь к файлу (find in finder), мой проект окончательно скомпилирован.

Ответ 11

Я обнаружил, что файл info.plist никогда не должен быть локализован! Я попытался локализовать свой проект и попытался нажать "Локализация" во всех файлах plist и string. В результате я не смог установить мое приложение в Simulator, неверную ошибку аргумента.

Я потратил 1,5 дня, пытаясь выяснить причину. Я пробовал все решения, перечисленные выше, но не повезло. Наконец, отбросьте все мои изменения локализации и повторите его снова. На этот раз я попытался сначала локализовать один файл, а затем скомпилировал коды и trie для запуска моего приложения на Simulator.

Проблема заключается в файле info.plist. Вы можете его локализовать. В результате версия en перемещается в папку en.lproj. Другими словами, в папке проекта больше нет файла info.plist. В результате Xcode не смог найти его, и возникло исключение.

Еще один способ проверить это - проверить настройки вашего проекта. Выберите целевую и общую вкладку. Identity должен выглядеть следующим образом:

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

Если ваши настройки проекта похожи на это, вам нужно найти info.plist, что означает info.plist.

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

Вы не можете найти локализованный info.plist в папке en.lproj из настроек проекта.

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

Не локализуйте файл info.plist напрямую. Вы можете локализовать его, локализуя infoplist.strings файл.

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

Я также написал блог на this.