Поделиться через


Ошибки Xamarin.iOS

MT0xx: сообщения об ошибках mtouch

Например, параметры, среда, отсутствующие средства.

MT0000: непредвиденная ошибка — заполните отчет об ошибке по адресу https://github.com/xamarin/xamarin-macios/issues/new

Произошла непредвиденная ошибка. Отправьте новую проблему на GitHub с максимальной информацией, в том числе:

  • Полные журналы сборки с максимальной детализацией (например -v -v -v -v , в дополнительных аргументах mtouch);
  • Минимальный тестовый случай, который воспроизводит ошибку; И
  • Все сведения о версиях

Самый простой способ получить точные сведения о версии — использовать меню Visual Studio для Mac, сведения о Visual Studio для Mac элементе, кнопке "Показать сведения" и вставить сведения о версии (можно использовать кнопку "Копировать сведения").

MT0001: "-devname" был предоставлен без каких-либо действий, относящихся к устройству

Это предупреждение, которое создается, если -devname передается mtouch, если не было запрошено действие для конкретного устройства (-logdev/-installdev/-killdev/-launchdev/-listapps).

MT0002: не удалось проанализировать переменную среды *.

Эта ошибка возникает при попытке задать недействительная пара переменных среды key=value. Правильный формат: mtouch --setenv=VARIABLE=VALUE

MT0003: имя приложения "*.exe" конфликтует с именем пакета SDK или сборки продукта (.dll).

Имя исполняемой сборки и имя приложения не может совпадать с именем любой библиотеки dll в приложении. Измените имя исполняемого файла.

MT0004: новая логика ссылок также требует включения SGen.

Если включить расширение ссылок, необходимо также включить сборщик мусора SGen в параметрах сборки iOS проекта (вкладка "Дополнительно").

Начиная с Xamarin.iOS 7.2.1 это требование было отменено, новая логика ссылок может быть включена как с boehm, так и с сборщиками мусора SGen.

MT0005: выходной каталог * не существует.

Создайте каталог.

Эта ошибка больше не создается, mtouch автоматически создаст каталог, если он не существует.

MT0006: нет платформы разложения по *, используйте --platform=PLAT, чтобы указать пакет SDK.

Xamarin.iOS не удается найти каталог пакета SDK в расположении, упоминание в сообщении об ошибке. Убедитесь, что путь правильный.

MT0007: корневая сборка * не существует.

Xamarin.iOS не удается найти сборку в расположении, упоминание в сообщении об ошибке. Убедитесь, что путь правильный.

MT0008: следует указать только одну корневую сборку, найденную # сборку: *.

Несколько корневых сборок были переданы в mtouch, в то время как может быть только одна корневая сборка.

MT0009: ошибка при загрузке сборок: *.

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

MT0010: не удалось проанализировать аргументы командной строки: *.

Произошла ошибка при анализе аргументов командной строки. Убедитесь, что они все правильные.

MT0011: * был создан для более последней среды выполнения (*), чем MonoTouch поддерживает.

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

Так же, как приложение с помощью пакета SDK для .NET 4.0, может не работать только в системе, поддерживающей .NET 2.0, библиотека, созданная с помощью .NET 4.0, может не работать в Xamarin.iOS, но может использовать API, не присутствующих в Xamarin.iOS.

Общее решение заключается в создании библиотеки в виде библиотеки классов Xamarin.iOS. Это можно сделать, создав проект библиотеки классов Xamarin.iOS и добавьте в него все исходные файлы. Если у вас нет исходного кода библиотеки, обратитесь к поставщику и попросите предоставить версию библиотеки, совместимую с Xamarin.iOS.

MT0012: неполные данные предоставляются для завершения *.

Эта ошибка больше не сообщается в текущей версии Xamarin.iOS.

MT0013: поддержка профилирования также требует включения sgen.

Значение SGen (--sgen) должно быть включено, если включена профилирование (--профилирование).

MT0014: пакет SDK для iOS * не поддерживает создание приложений, предназначенных для *.

Это может произойти в следующих обстоятельствах:

  • ARMv6 включен и установлен Xcode 4.5 или более поздней версии.
  • ARMv7s включен и установлен Xcode 4.4 или более ранних версий.

Убедитесь, что установленная версия Xcode поддерживает выбранные архитектуры.

MT0015: Недопустимый ABI: *. Поддерживаемые API: i386, x86_64, armv7, armv7+llvm, armv7+llvm+thumb2, armv7s, armv7s+llvm, armv7s+llvm+llvm+thumb2, arm64 и arm64+llvm.

Недопустимый ABI был передан в mtouch. Укажите допустимый ABI.

MT0016: параметр * устарел.

Параметр упоминание mtouch устарел и будет игнорироваться.

MT0017: необходимо предоставить корневую сборку.

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

MT0018: неизвестный аргумент командной строки: *.

Mtouch не распознает аргумент командной строки, упоминание в сообщении об ошибке.

MT0019: можно использовать только один параметр --[log|install|kill|launch]dev или --[launch|debug]sim.

Существует несколько вариантов mtouch, которые нельзя использовать одновременно:

  • --logdev
  • --installdev
  • --killdev
  • --launchdev
  • --launchdebug
  • --launchsim

MT0020: допустимые параметры для "*" — "*".

MT0021: не удается компилировать с помощью gcc/g++ (--use-gcc) при использовании статического registrar (это значение по умолчанию при компиляции для устройства). Удалите флаг --use-gcc или используйте динамический registrar (---registrar:d ynamic).

MT0022: параметры "--unsupported--enable-generics-in-registrar" и "--registrar" несовместимы.

Удалите оба параметра --unsupported--enable-generics-in-registrar и --registrar. Начиная с версии Xamarin.iOS 7.2.1 по умолчанию registrar поддерживает универсальные шаблоны.

Эта ошибка больше не отображается (аргумент --unsupported--enable-generics-in-registrar командной строки удален из mtouch).

MT0023: имя приложения "*.exe" конфликтует с другой сборкой пользователя.

Имя исполняемой сборки и имя приложения не может совпадать с именем любой библиотеки dll в приложении. Измените имя исполняемого файла.

MT0024: не удалось найти обязательный файл "*".

MT0025: версия пакета SDK не была предоставлена. Добавьте, --sdk=X.Y чтобы указать, какой пакет SDK для iOS следует использовать для сборки приложения.

MT0026: не удалось проанализировать аргумент командной строки "*": *

MT0027: параметры "*" и "*" несовместимы.

MT0028: не удается включить PIE (-pie) при выборе iOS 4.1 или более ранней версии. Отключите PIE (-pie:false) или задайте целевой объект развертывания по крайней мере для iOS 4.2

MT0029: REPL (--enable-repl) поддерживается только в симуляторе (--sim).

REPL поддерживается только в том случае, если вы создаете симулятор. Это означает, что при переходе --enable-repl на mtouch необходимо также пройти --sim.

MT0030: исполняемое имя (*) и имя приложения (*) отличаются, это может препятствовать правильному получению символических символов журналов сбоев.

Если символика Xcode (преобразует адреса памяти в имена функций и номера файлов и строк) процесс может завершиться ошибкой, если исполняемый файл и приложение имеют разные имена (без расширения).

Чтобы устранить эту проблему, измените имя приложения в параметрах сборки или приложения iOS проекта или измените имя сборки в параметрах сборки и вывода проекта.

MT0031: аргументы командной строки "--enable-background-fetch" и "-launch-for-background-fetch" также требуют "--launchsim".

MT0032: параметр "--debugtrack" игнорируется, если не указан параметр --debug.

MT0033: проект Xamarin.iOS должен ссылаться на monotouch.dll или Xamarin.iOS.dll

MT0034: не удается включить как monotouch.dll, так и "Xamarin.iOS.dll" в один и тот же проект Xamarin.iOS : "*" ссылается явно, а "*" ссылается на "*".

MT0036: не удается запустить симулятор * для приложения *. Включите правильные архитектуры в параметрах сборки iOS проекта (страница "Дополнительно").

MT0037: monotouch.dll не совместима с 64-разрядной версией. Ссылки Xamarin.iOS.dll или не создаются для 64-разрядной архитектуры (ARM64 и/или x86_64).

MT0038: старый registrars (--:registraroldstatic|olddynamic) не поддерживается при ссылке Xamarin.iOS.dll.

MT0039: приложения, предназначенные для ARMv6, не могут ссылаться на Xamarin.iOS.dll.

MT0040: не удалось найти сборку "*", на которую ссылается "*".

MT0041: не удается ссылаться на "monotouch.dll" и "Xamarin.iOS.dll".

MT0042: нет ссылки на monotouch.dll или Xamarin.iOS.dll. Будет добавлена ссылка на monotouch.dll.

MT0043: сборщик мусора Boehm в настоящее время не поддерживается при ссылке на "Xamarin.iOS.dll". Вместо этого выбран сборщик мусора SGen.

В унифицированных проектах поддерживается только сборщик мусора SGen. Убедитесь, что нет дополнительных флагов mtouch, указывающих Boehm в качестве сборщика мусора.

MT0044: --listsim поддерживается только в Xcode 6.0 или более поздней версии.

Установите более новую версию Xcode.

MT0045: --extension поддерживается только при использовании пакета SDK для iOS 8.0 (или более поздней версии).

MT0047: минимальный целевой объект развертывания для унифицированных приложений — 5.1.1, текущий целевой объект развертывания — *. Выберите новый целевой объект развертывания в параметрах приложения iOS проекта.

MT0049: *.framework поддерживается только в том случае, если целевой объект развертывания равен 8.0 или более поздней версии. * функции могут работать неправильно.

Указанная платформа не поддерживается в версии iOS, к целевому объекту развертывания относится. Обновите целевой объект развертывания до более новой версии iOS или удалите использование указанной платформы из приложения.

MT0051: Xamarin.iOS * требуется Xcode 5.0 или более поздней версии. Текущая версия Xcode (найденная в *) — *.

Установите новый Xcode.

MT0052: команда не указана.

Для mtouch не было указано никаких действий.

MT0054: не удалось канонизировать путь "*": *

Это внутренняя ошибка. Если вы видите эту ошибку, отправьте новую проблему на github.

MT0055: путь Xcode "*" не существует.

Путь Xcode, переданный с использованием --sdkroot , не существует. Укажите допустимый путь.

MT0056: не удается найти Xcode в расположении по умолчанию (/Application/Xcode.app). Установите Xcode или передайте пользовательский путь с помощью пути> --sdkroot<.

MT0057: не удается определить путь к Xcode.app из корневого каталога пакета SDK "*". Укажите полный путь к пакету Xcode.app.

Путь, передаваемый с помощью --sdkroot , не указывает допустимое приложение Xcode. Укажите путь к приложению Xcode.

MT0058: недопустимый Xcode.app "*" (файл "*" не существует).

Путь, передаваемый с помощью --sdkroot , не указывает допустимое приложение Xcode. Укажите путь к приложению Xcode.

MT0059: не удалось найти выбранный в данный момент Xcode в системе: *

MT0060: не удалось найти выбранный в данный момент Xcode в системе. "xcode-select --print-path" возвращает значение "*", но этот каталог не существует.

MT0061: нет Xcode.app указан (с помощью --sdkroot), используя системный Xcode, как сообщается в разделе "xcode-select --print-path": *

Это информационное предупреждение, объясняющее, какой Xcode будет использоваться, так как ни один из них не указан.

MT0062: нет Xcode.app указан (с помощью --sdkroot или xcode-select --print-path), используя вместо этого Xcode по умолчанию: *

Это информационное предупреждение, объясняющее, какой Xcode будет использоваться, так как ни один из них не указан.

MT0063: не удается найти исполняемый файл в расширении * (запись CFBundleExecutable в списке Info.plist)

Каждый файл Info.plist должен иметь исполняемый файл (с помощью записи CFBundleExecutable), однако запись должна создаваться автоматически во время сборки.

Обычно это означает ошибку в Xamarin.iOS; Отправьте новую проблему на github с помощью тестового случая.

MT0064: Xamarin.iOS поддерживает только внедренные платформы с помощью унифицированных проектов.

Xamarin.iOS поддерживает только внедренные платформы при использовании единого API; Обновите проект, чтобы использовать единый API.

MT0065: Xamarin.iOS поддерживает только внедренные платформы, если целевой объект развертывания не менее 8.0 (текущий целевой объект развертывания: * внедренные платформы: *)

Xamarin.iOS поддерживает только внедренные платформы, если целевой объект развертывания не менее 8.0 (так как более ранние версии iOS не поддерживают внедренные платформы).

Обновите целевой объект развертывания в info.plist проекта до версии 8.0 или выше.

MT0066: недопустимая сборка registrar : *

Обычно это означает ошибку в Xamarin.iOS; Отправьте новую проблему на github с помощью тестового случая.

MT0067: Invalid registrar: *

Обычно это означает ошибку в Xamarin.iOS; Отправьте новую проблему на github с помощью тестового случая.

MT0068: недопустимое значение для целевой платформы: *.

Недопустимая целевая платформа была передана с помощью аргумента --target-framework. Укажите допустимую целевую платформу.

MT0070: недопустимая целевая платформа: *. Допустимые целевые платформы: *.

Недопустимая целевая платформа была передана с помощью аргумента --target-framework. Укажите допустимую целевую платформу.

MT0071: неизвестная платформа: *. Обычно это означает ошибку в Xamarin.iOS.

Обычно это означает ошибку в Xamarin.iOS; Отправьте новую проблему на github с помощью тестового случая.

MT0072: расширения не поддерживаются для платформы "*".

Обычно это означает ошибку в Xamarin.iOS; Отправьте новую проблему на github с помощью тестового случая.

MT0073: Xamarin.iOS * не поддерживает целевой объект развертывания * (минимальное значение — *). Выберите новый целевой объект развертывания в проекте Info.plist.

Минимальный целевой объект развертывания — это тот, который указан в сообщении об ошибке; Выберите новый целевой объект развертывания в файле Info.plist проекта.

Если обновление целевого объекта развертывания невозможно, используйте старую версию Xamarin.iOS.

MT0074: Xamarin.iOS * не поддерживает минимальный целевой объект развертывания * (максимальное — *). Выберите более старый целевой объект развертывания в проекте Info.plist или обновите его до более новой версии Xamarin.iOS.

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

Выберите более старый минимальный целевой объект развертывания в файле Info.plist проекта или обновите его до более новой версии Xamarin.iOS.

MT0075: недопустимая архитектура "*" для проектов * . Допустимые архитектуры: *

Указана недопустимая архитектура. Убедитесь, что архитектура действительна.

MT0076: архитектура не указана (с помощью аргумента --abi). Для проектов требуется архитектура.

Обычно это означает ошибку в Xamarin.iOS; Отправьте новую проблему на github с помощью тестового случая.

MT0077: проекты WatchOS должны быть расширениями.

Обычно это означает ошибку в Xamarin.iOS; Отправьте новую проблему на github с помощью тестового случая.

MT0078: добавочные сборки включены с целевым значением < развертывания 8.0 (в настоящее время *). Это не поддерживается (полученное приложение не будет запускаться в iOS 9), поэтому целевой объект развертывания будет иметь значение 8.0.

Это предупреждение, информирующее о том, что целевой объект развертывания установлен на 8.0 для этой сборки, чтобы добавочные сборки работали правильно.

Добавочные сборки поддерживаются только в том случае, если целевой объект развертывания не менее 8.0 (так как итоговое приложение не запустится в iOS 9 в противном случае).

Это предупреждение, информирующее о том, что текущая версия Xcode не является рекомендуемой версией Xcode для этой версии Xamarin.iOS.

Обновите Xcode, чтобы обеспечить оптимальное поведение.

MT0080: отключение NewRefCount, --new-refcount:false, устарело.

Это предупреждение, информирующее о том, что запрос на отключение новой ссылки (--new-refcount:false) был проигнорирован.

Новая функция ссылок теперь является обязательной для всех проектов, и поэтому больше невозможно отключить.

MT0081: аргумент командной строки --download-crash-report также требуется --download-crash-report-to.

MT0083: в watchOS не поддерживается только битовый код asm. Используйте либо --bitcode:marker, либо --bitcode:full.

MT0084: bitcode не поддерживается в симуляторе. Не передавать --bitcode при создании симулятора.

MT0085: нет ссылки на "*". Он будет добавлен автоматически.

MT0086: целевая платформа (-target-framework) должна быть указана при создании для TVOS или WatchOS.

Это означает ошибку в Xamarin.iOS. Отправьте новую проблему на github.

MT0087: добавочные сборки (--fastdev) не поддерживаются в boehm GC. Добавочные сборки будут отключены.

MT0088: GC должен находиться в совместном режиме для приложений watchOS. Удалите аргумент --coop:false для mtouch.

MT0089: параметр "*" не может принимать значение "*", если режим совместной работы включен для GC.

Для сборки приложения требуется файл заголовков Xamarin.iOS из версии пакета SDK, указанной в сообщении об ошибке. Рекомендуемый способ исправить эту ошибку — обновить Xcode, чтобы получить необходимый пакет SDK, это будет включать все необходимые файлы заголовков. Если у вас установлено несколько версий Xcode или требуется использовать Xcode в расположении, отличном от по умолчанию, установите правильное расположение Xcode в настройках интегрированной среды разработки.

Потенциальное альтернативное решение — включить управляемый компоновщик. Это приведет к удалению неиспользуемого API, включая, в большинстве случаев, новый API, в котором отсутствуют файлы заголовков (или неполные). Однако это не будет работать, если проект использует API, который был представлен в новом пакете SDK, чем тот, который предоставляет Xcode.

Последнее решение будет использовать старую версию Xamarin.iOS, которая поддерживает пакет SDK для проекта.

MT0093: Не удалось найти "mlaunch".

MT0095: файлы Aot не удалось скопировать в целевой каталог {dest}: {error}

MT0096: нет ссылки на Xamarin.iOS.dll.

MT0099: внутренняя ошибка *.

Это сообщение об ошибке сообщается, когда внутренняя проверка согласованности в Xamarin.iOS завершается ошибкой.

Обычно это означает ошибку в Xamarin.iOS; Отправьте новую проблему на github с помощью тестового случая.

MT0100: недопустимый целевой объект сборки сборки: "*".

Это сообщение об ошибке сообщается, когда внутренняя проверка согласованности в Xamarin.iOS завершается ошибкой.

Обычно это означает ошибку в Xamarin.iOS; Отправьте новую проблему на github с помощью тестового случая.

MT0101: сборка "*" указывается несколько раз в аргументах --assembly-build-target.

Сборка, упоминание в сообщении об ошибке, указывается несколько раз в аргументах --assembly-build-target. Убедитесь, что каждая сборка упоминание только один раз.

MT0102: сборки "*" и "*" имеют одно и то же целевое имя ("*"), но разные целевые объекты ("*" и "*").

Сборки, упоминание в сообщении об ошибке, имеют конфликтующие целевые объекты сборки.

Например:

  --assembly-build-target:Assembly1.dll=framework=MyBinary --assembly-build-target:Assembly2.dll=dynamiclibrary=MyBinary

В этом примере показано, как создать динамическую библиотеку, так и платформу с одинаковым элементом (MyBinary).

MT0103: статический объект "*" содержит несколько сборок ("*"), но каждый статический объект должен соответствовать ровно одной сборке.

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

Например:

--assembly-build-target:Assembly1.dll=staticobject=MyBinary --assembly-build-target:Assembly2.dll=staticobject=MyBinary

В этом примере показано, как создать статический объект (), состоящий из двух сборок (MyBinaryAssembly1.dllиAssembly2.dll), который не допускается.

MT0105: для "*" не указан целевой объект сборки сборки.

При указании целевого объекта сборки сборки с помощью --assembly-build-targetкаждой сборки в приложении должен быть назначен целевой объект сборки.

Эта ошибка сообщается, когда сборка упоминание в сообщении об ошибке не назначена целевой объект сборки сборки.

Дополнительные сведения см. в документации --assembly-build-target .

MT0106: имя целевой цели сборки сборки "*" недопустимо: символ "*" не допускается.

Целевое имя сборки сборки должно быть допустимым именем файла.

Например, эти значения активируют эту ошибку:

--assembly-build-target:Assembly1.dll=staticobject=my/path.o

поскольку имя файла не является допустимым из-за my/path.o символа разделителя каталогов.

MT0107: сборки "*" имеют разные пользовательские оптимизации LLVM (*), что не допускается, если они все компилируются в один двоичный файл.

MT0108: целевой объект сборки сборки "*" не соответствовал сборкам.

MT0109: сборка{0} "" была загружена из другого пути, отличного от предоставленного пути (предоставленный путь: {1}, фактический путь: {2}).

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

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

MT0110: добавочные сборки отключены, так как эта версия Xamarin.iOS не поддерживает добавочные сборки в проектах, которые включают сторонние библиотеки привязки и компилируются в бит-код.

Добавочные сборки отключены, так как эта версия Xamarin.iOS не поддерживает добавочные сборки в проектах, которые включают сторонние библиотеки привязки и компилируются в биткод (проекты tvOS и watchOS).

Никакое действие не требуется для вашей стороны, это сообщение является чисто информационным.

Это предупреждение больше не сообщается.

MT0111: Bitcode включен, так как эта версия Xamarin.iOS не поддерживает сборку проектов watchOS с помощью LLVM без включения битового кода.

Bitcode включен автоматически, так как эта версия Xamarin.iOS не поддерживает создание проектов watchOS с помощью LLVM без включения битового кода.

Никакое действие не требуется для вашей стороны, это сообщение является чисто информационным.

MT0112: общий доступ к машинным кодам отключен, так как *

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

  • так как целевой объект развертывания приложения-контейнера выше, чем iOS 8.0 (это *)).

Для совместного использования машинного кода требуется iOS 8.0, так как общий доступ к машинным кодам реализуется с помощью пользовательских платформ, которые были представлены в iOS 8.0.

  • так как приложение-контейнер включает сборки I18N (*).

Общий доступ к машинным кодам в настоящее время не поддерживается, если приложение-контейнер включает сборки I18N.

  • Так как приложение-контейнер содержит пользовательские определения XML для управляемого компоновщика (*).

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

MT0113: общий доступ к машинным кодам отключен для расширения "*", так как *.

  • поскольку параметры битового кода отличаются между приложением-контейнером (*) и расширением (*).

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

  • поскольку параметры --assembly-build-target отличаются между приложением-контейнером (*) и расширением (*).

    Для совместного использования машинного кода требуется, чтобы параметры --assembly-build-target были идентичными между проектами, которые совместно используют код.

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

  • поскольку сборки I18N отличаются между приложением-контейнером (*) и расширением (*).

    Общий доступ к машинным кодам в настоящее время не поддерживается для расширений, включающих сборки I18N.

  • Поскольку аргументы компилятора AOT отличаются от приложения-контейнера (*) и расширения (*).

    Общий доступ к машинному коду требует, чтобы аргументы компилятора AOT не отличались от проектов, совместно использующих код.

  • поскольку другие аргументы компилятора AOT отличаются между приложением-контейнером (*) и расширением (*).

    Общий доступ к машинному коду требует, чтобы аргументы компилятора AOT не отличались от проектов, совместно использующих код.

    Это условие возникает, если выполнение всех 32-разрядных операций с плавающей запятой в виде 64-разрядного float отличается от проектов.

  • Так как LLVM не включен или отключен как в приложении контейнера (*), так и в расширении (*).

    Для совместного использования машинного кода необходимо включить или отключить LLVM для всех проектов, совместно использующих код.

  • поскольку параметры управляемого компоновщика отличаются между приложением-контейнером (*) и расширением (*).

    Для совместного использования машинного кода требуется, чтобы параметры управляемого компоновщика были идентичны для всех проектов, совместно использующих код.

  • Поскольку пропущенные сборки для управляемого компоновщика отличаются между приложением-контейнером (*) и расширением (*).

    Для совместного использования машинного кода требуется, чтобы параметры управляемого компоновщика были идентичны для всех проектов, совместно использующих код.

  • поскольку расширение содержит пользовательские определения XML для управляемого компоновщика (*).

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

  • так как приложение-контейнер не выполняет сборку для ABI * (пока расширение создается для этого ABI).

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

    Например: это условие возникает при сборке расширения для ARM64+ARMv7, но приложение контейнера создает только для ARM64.

  • поскольку приложение-контейнер создает для ABI *, которое несовместимо с ABI расширения (*).

    Для общего доступа к машинному коду требуется, чтобы все проекты создавались для одного и того же API.

    Например: это условие возникает при сборке расширения для ARMv7+llvm+thumb2, но приложение контейнера выполняет сборку только для ARMv7+llvm.

  • так как приложение-контейнер ссылается на сборку "*" из "*", а расширение ссылается на другую версию от "*".

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

Проекты Xamarin.iOS часто ссылаются на собственные символы динамически, что означает, что собственный компоновщик может удалить такие собственные символы во время процесса связывания в собственном коде, так как собственный компоновщик не видит, что эти символы используются.

Обычно Xamarin.iOS запрашивает собственный компоновщик сохранить такие символы (с помощью -u symbol флага компоновщика), но при компиляции для битового кода собственный компоновщик не принимает -u флаг.

Xamarin.iOS реализовал альтернативное решение: мы создадим дополнительный машинный код, который ссылается на эти символы, и, следовательно, собственный компоновщик увидит, что эти символы используются. Это выполняется автоматически при компиляции в бит-код.

Если --dynamic-symbol-mode=linker передается mtouch, это альтернативное решение будет отключено, и Xamarin.iOS попытается передать -u в собственный компоновщик. Скорее всего, это приведет к ошибкам машинного компоновщика.

Решение заключается в удалении --dynamic-symbol-mode=linker аргумента из дополнительных аргументов mtouch в параметрах сборки проекта.

MT0116: недопустимая архитектура: {arch}. 32-разрядные архитектуры не поддерживаются, если целевой объект развертывания равен 11 или более поздней версии. Убедитесь, что проект не строится для 32-разрядной архитектуры.

IOS 11 не поддерживает 32-разрядные приложения, поэтому он не поддерживает сборку для 32-разрядного приложения, если целевой объект развертывания — iOS 11 или более поздней версии.

Измените целевую архитектуру в параметрах сборки iOS проекта на arm64 или измените целевой объект развертывания в info.plist проекта на более раннюю версию iOS.

MT0117: не удается запустить 32-разрядное приложение на симуляторе, поддерживающем только 64-разрядную версию.

MT0118: не удалось найти файлы Aot в ожидаемом каталоге "{msymdir}".

MT0123: исполняемая сборка * не ссылается на *.

Нет ссылки на сборку платформы (Xamarin.iOS.dll / Xamarin.TVOS.dll / Xamarin.WatchOS.dll) в исполняемой сборке.

Обычно это происходит, когда в исполняемом проекте нет кода, который использует что-либо из сборки платформы; Например, пустой метод Main (и никакого другого кода) будет отображать эту ошибку:

class Program {
    void Main (string[] args)
    {
    }
}

Использование API из сборки платформы решит ошибку:

class Program {
    void Main (string[] args)
    {
        System.Console.WriteLine (typeof (UIKit.UIWindow));
    }
}

MT0124: не удалось задать текущий язык на "{lang}" (в соответствии с LANG={LANG}): {exception}

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

Текущий язык по умолчанию будет использовать системный язык.

MT0125: аргумент командной строки --assembly-build-target игнорируется в симуляторе.

Никаких действий не требуется, это сообщение является чисто информационным.

MT0126: добавочные сборки отключены, так как добавочные сборки не поддерживаются в симуляторе.

Никаких действий не требуется, это сообщение является чисто информационным.

MT0127: добавочные сборки отключены, так как эта версия Xamarin.iOS не поддерживает добавочные сборки в проектах, включающих несколько сторонних библиотек привязки.

Добавочные сборки были отключены автоматически, так как эта версия Xamarin.iOS не всегда создает проекты с несколькими сторонними библиотеками привязки правильно.

Никаких действий не требуется, это сообщение является чисто информационным.

MT0128: не удалось коснуться файла "*": *

Произошел сбой при касании файла (который выполняется для правильного выполнения частичных сборок).

Это предупреждение, скорее всего, может быть проигнорировано; В случае каких-либо проблем файл новой проблемы на GitHub и он будет расследован.

Чтобы создать приложение, Xamarin.iOS должен ссылаться на системные библиотеки, некоторые из которых зависят от версии пакета SDK, указанной в сообщении об ошибке. Так как вы используете старую версию пакета SDK, вызовы к этим API могут завершиться ошибкой во время выполнения.

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

Кроме того, можно разрешить управляемому компоновщику удалять неиспользуемые API, включая (в большинстве случаев) новые, требующие указанной библиотеки. Однако это не будет работать, если для проекта требуются API- интерфейсы, представленные в новом пакете SDK, чем тот, который предоставляет Xcode.

В качестве решения последней соломки используйте старую версию Xamarin.iOS, которая не требует наличия этих новых пакетов SDK во время процесса сборки.

MT10xxx: установщик / mtouch

MT1001: не удалось найти приложение в указанном каталоге

MT1003: не удалось убить приложение "*". Возможно, вам придется вручную убить приложение.

MT1004: не удалось получить список установленных приложений.

MT1005: не удалось убить приложение "*" на устройстве "*": *- Возможно, потребуется вручную убить приложение.

MT1006: не удалось установить приложение "*" на устройстве "*": *.

MT1007: не удалось запустить приложение "*" на устройстве "*": *. Вы по-прежнему можете запустить приложение вручную, нажав на него.

MT1008: не удалось запустить симулятор

Эта ошибка сообщается, если mtouch не удалось запустить симулятор. Иногда это может произойти, так как уже выполняется устаревший или мертвый процесс симулятора.

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

$ launchctl list|grep UIKitApplication|awk '{print $3}'|xargs launchctl remove

MT1009: не удалось скопировать сборку "*" в "*": *

Это известная проблема в некоторых версиях Xamarin.iOS.

Если это произойдет, попробуйте выполнить следующее обходное решение:

sudo chmod 0644 /Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/*/*.mdb

Тем не менее, так как эта проблема устранена в последней версии Xamarin.iOS, отправьте новую проблему на github с полными сведениями о версии и выходными данными журнала сборки.

MT1010: не удалось загрузить сборку "*": *

MT1011: не удалось добавить отсутствующий файл ресурса: "*"

MT1012: не удалось перечислить приложения на устройстве "*": *

MT1013: ошибка отслеживания зависимостей: нет файлов для сравнения.

Это означает ошибку в Xamarin.iOS. Отправьте новую проблему на github с помощью тестового случая.

MT1014: не удалось повторно использовать кэшированную версию '*': *.

MT1015: не удалось создать исполняемый файл "*": *

MT1015: не удалось создать исполняемый файл "*": *

MT1016: не удалось создать файл NOTICE, так как каталог уже существует с тем же именем.

Удалите каталог NOTICE из проекта.

MT1017: не удалось создать файл УВЕДОМЛЕНИЯ: *.

MT1018: приложение не удалось установить проверка подписывания кода и не удалось установить на устройстве "*". Проверьте сертификаты, профили подготовки и идентификаторы пакета. Вероятно, устройство не входит в выбранный профиль подготовки (ошибка: 0xe8008015).

MT1019: ваше приложение имеет права, которые не поддерживаются текущим профилем подготовки и не удалось установить на устройстве "*". Проверка журнал устройств iOS для получения более подробных сведений (ошибка: 0xe8008016).

Это может произойти если:

  • Приложение имеет права, которые текущий профиль подготовки не поддерживает. Возможные решения:
    • Укажите другой профиль подготовки, поддерживающий требования приложения.
    • Удалите права, которые не поддерживаются в текущем профиле подготовки.
  • Устройство, на которое вы пытаетесь развернуть, не включается в профиль подготовки, который вы используете. Возможные решения:
    • Создайте приложение из шаблона в Xcode, выберите тот же профиль подготовки и разверните его на одном устройстве. Иногда Xcode может автоматически обновлять профили подготовки с новыми устройствами (в других случаях Xcode попросит вас о том, что делать). -Перейдите к Центр разработки iOS и обновите профиль подготовки с новым устройством, а затем скачайте обновленный профиль подготовки на компьютер.

В большинстве случаев дополнительные сведения о сбое будут напечатаны в журнале устройств iOS, что может помочь диагностировать проблему.

MT1020: не удалось запустить приложение "*" на устройстве "*": *

MT1021: не удалось скопировать файл "*" в "*": {2}

Не удалось скопировать файл. Сообщение об ошибке из операции копирования содержит дополнительные сведения об ошибке.

MT1022: не удалось скопировать каталог "*" в "*": {2}

Не удалось скопировать каталог. Сообщение об ошибке из операции копирования содержит дополнительные сведения об ошибке.

MT1023: не удалось связаться с устройством, чтобы найти приложение "*" : *

Произошла ошибка при попытке поиска приложения на устройстве.

Чтобы решить эту проблему, выполните следующие действия.

  • Удалите приложение с устройства и повторите попытку.
  • Отключите устройство и снова подключите его.
  • Перезагрузка устройства.
  • Перезагрузите Компьютер Mac.

MT1024: подпись приложения не удалось проверить на устройстве "*". Убедитесь, что профиль подготовки установлен и не истек (ошибка: 0xe8008017).

Устройство отклонило установку приложения, так как подпись не удалось проверить.

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

MT1025: не удалось перечислить отчеты о сбоях на устройстве *.

При попытке получить список отчетов о сбоях на устройстве произошла ошибка.

Чтобы решить эту проблему, выполните следующие действия.

  • Удалите приложение с устройства и повторите попытку.
  • Отключите устройство и снова подключите его.
  • Перезагрузка устройства.
  • Перезагрузите Компьютер Mac.
  • Синхронизация устройства с iTunes (это приведет к удалению отчетов о сбоях с устройства).

MT1026: не удалось скачать отчет о сбоях * с устройства *.

Произошла ошибка при попытке скачать отчеты о сбоях с устройства.

Чтобы решить эту проблему, выполните следующие действия.

  • Удалите приложение с устройства и повторите попытку.
  • Отключите устройство и снова подключите его.
  • Перезагрузка устройства.
  • Перезагрузите Компьютер Mac.
  • Синхронизация устройства с iTunes (это приведет к удалению отчетов о сбоях с устройства).

MT1027: не удается использовать Xcode 7+ для запуска приложений на устройствах с iOS * (Xcode 7 поддерживает только iOS 6+).

Невозможно использовать Xcode 7+ для запуска приложений на устройствах с iOS версии ниже 6.0.

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

MT1028: недопустимая спецификация устройства: "*". Ожидается "ios", "watchos" или "all".

Спецификация устройства, передаваемая с помощью --device, является недопустимой. Допустимые значения: "ios", "watchos" или "all".

MT1029: не удалось найти приложение в указанном каталоге: *

Путь приложения, переданный в --launchdev, не существует. Укажите допустимый пакет приложений.

MT1030: запуск приложений на устройстве с использованием идентификатора пакета не рекомендуется. Передайте полный путь к пакету для запуска.

Рекомендуется передать путь к приложению для запуска на устройстве вместо идентификатора пакета.

MT1031: не удалось запустить приложение "*" на устройстве "*", так как устройство заблокировано. Разблокируйте устройство и повторите попытку.

Разблокируйте устройство и повторите попытку.

MT1032: этот исполняемый файл приложения может быть слишком большим (* МБ) для выполнения на устройстве. Если бит-код был включен, его может потребоваться отключить для разработки, это необходимо только для отправки приложений в Apple.

MT1033: не удалось удалить приложение "*" с устройства "*": *

MT1035: не удается включить разные версии платформы "{name}"

Невозможно связаться с разными версиями одной и той же платформы.

Обычно это происходит, когда расширение ссылается на другую версию платформы, чем приложение-контейнер (возможно, через сборку привязки сторонних производителей).

После этой ошибки будет несколько ошибок MT1036 , в которых перечислены пути для каждой платформы.

Эта ошибка сообщается только вместе с MT1036. Дополнительные сведения см. в MT1036.

MT11xxx: служба отладки

MT1101: не удалось запустить приложение

MT1102: не удалось подключиться к приложению (чтобы убить его): *

MT1103: не удалось отключить

MT1104: не удалось отправить пакет: *

MT1105: непредвиденный тип ответа

MT1106: не удалось получить список приложений на устройстве: время ожидания запроса.

MT1107: не удалось запустить приложение: *

Если устройство заблокировано, проверка.

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

MT1108: не удалось найти средства разработчика для этого устройства XX (YY).

Для нескольких операций из mtouch требуется DeveloperDiskImage.dmg наличие файла. Этот файл является частью Xcode и обычно находится относительно пакета SDK, который используется для сборки, в .Xcode.app/Contents/Developer/iPhoneOS.platform/DeviceSupport/VERSION/DeveloperDiskImage.dmg

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

MT1109: не удалось запустить приложение, так как устройство заблокировано. Разблокируйте устройство и повторите попытку.

Если устройство заблокировано, проверка.

MT1110: не удалось запустить приложение из-за ограничений безопасности iOS. Убедитесь, что разработчик доверяет.

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

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

MT12xxx: симулятор

MT1201: не удалось загрузить симулятор: *

MT1202: недопустимая конфигурация симулятора: *

MT1203: недопустимая спецификация симулятора: *

MT1204: недопустимая спецификация симулятора "*": среда выполнения не указана.

MT1205: недопустимая спецификация симулятора "*": тип устройства не указан.

MT1206: не удалось найти среду выполнения симулятора "*".

MT1207: не удалось найти тип устройства симулятора "*".

MT1208: не удалось найти среду выполнения симулятора "*".

MT1209: не удалось найти тип устройства симулятора "*".

MT1210: недопустимая спецификация симулятора: *, неизвестный ключ '*'

MT1211: версия симулятора "*" не поддерживает тип симулятора "*"

MT1212: не удалось создать версию симулятора, в которой тип = * и среда выполнения = *.

MT1213: недопустимая спецификация симулятора для Xcode 4: *

MT1214: недопустимая спецификация симулятора для Xcode 5: *

MT1215: указан недопустимый пакет SDK: *

MT1216: не удалось найти идентификатор UDID симулятора "*".

MT1217: не удалось загрузить пакет приложений по адресу "*".

MT1218: идентификатор пакета не найден в приложении по адресу "*".

MT1219: не удалось найти симулятор для "*".

MT1220: не удалось найти последнюю среду выполнения симулятора для устройства "*".

Обычно это означает проблему с Xcode.

Чтобы устранить эту проблему, выполните следующие действия.

  • Используйте симулятор один раз в Xcode.
  • Передайте явную версию пакета SDK с помощью версии> --sdk<.
  • Переустановите Xcode.

MT1221: не удалось найти парный симулятор i Телефон для симулятора WatchOS "*".

При запуске приложения WatchOS в симуляторе WatchOS также должен быть парный симулятор iOS.

Симуляторы часов можно связать с симуляторами iOS с помощью пользовательского интерфейса устройств Xcode (окно меню —> устройства).

MT13xxx: [LinkWith]

MT1301: встроенная библиотека * (*) игнорируется, так как она не соответствует текущей архитектуре сборки (*)

MT1302: не удалось извлечь собственную библиотеку "*" из "+". Убедитесь, что собственная библиотека была правильно внедрена в управляемую сборку (если сборка была создана с помощью проекта привязки, собственная библиотека должна быть включена в проект, а его действие сборки должно быть "ObjcBindingNativeLibrary").

MT1303: не удалось распаковки собственной платформы "*" из "*". Просмотрите журнал сборки для получения дополнительных сведений из собственной команды ZIP.

Не удалось распаковки указанной собственной платформы из библиотеки привязки.

Ознакомьтесь с журналом bulid для получения дополнительных сведений об этом сбое из собственной команды ZIP.

MT1304: внедренная платформа "*" в * недопустимая: она не содержит info.plist.

Указанная внедренная платформа не содержит info.plist и поэтому не является допустимой платформой.

Убедитесь, что платформа действительна.

MT1305: библиотека привязки "*" содержит пользовательскую платформу (*), но внедренные пользовательские платформы требуют iOS 8.0 (текущий целевой объект развертывания — *). Задайте целевой объект развертывания в файле Info.plist по крайней мере 8.0.

Указанная библиотека привязки содержит внедренную платформу, но Xamarin.iOS поддерживает только внедренные платформы в iOS 8.0 или более поздней версии.

Задайте целевой объект развертывания в файле Info.plist по крайней мере 8.0, чтобы устранить эту ошибку (или не использовать внедренные платформы).

MT14xxx: Отчеты о сбоях

MT1400: не удалось открыть службу отчетов о сбоях: AFC Подключение ionOpen возвращено *

При попытке получить доступ к отчетам о сбоях с устройства произошла ошибка.

Чтобы решить эту проблему, выполните следующие действия.

  • Удалите приложение с устройства и повторите попытку.
  • Отключите устройство и снова подключите его.
  • Перезагрузка устройства.
  • Перезагрузите Компьютер Mac.
  • Синхронизация устройства с iTunes (это приведет к удалению отчетов о сбоях с устройства).

MT1401: не удалось закрыть службу отчетов о сбоях: AFC Подключение ionClose возвращено *

При попытке получить доступ к отчетам о сбоях с устройства произошла ошибка.

Чтобы решить эту проблему, выполните следующие действия.

  • Удалите приложение с устройства и повторите попытку.
  • Отключите устройство и снова подключите его.
  • Перезагрузка устройства.
  • Перезагрузите Компьютер Mac.
  • Синхронизация устройства с iTunes (это приведет к удалению отчетов о сбоях с устройства).

MT1402: не удалось прочитать сведения о файле для *: возвращено AFCFileInfoOpen *

При попытке получить доступ к отчетам о сбоях с устройства произошла ошибка.

Чтобы решить эту проблему, выполните следующие действия.

  • Удалите приложение с устройства и повторите попытку.
  • Отключите устройство и снова подключите его.
  • Перезагрузка устройства.
  • Перезагрузите Компьютер Mac.
  • Синхронизация устройства с iTunes (это приведет к удалению отчетов о сбоях с устройства).

MT1403: не удалось прочитать отчет о сбоях: AFCDirectoryOpen (*) возвращено: *

При попытке получить доступ к отчетам о сбоях с устройства произошла ошибка.

Чтобы решить эту проблему, выполните следующие действия.

  • Удалите приложение с устройства и повторите попытку.
  • Отключите устройство и снова подключите его.
  • Перезагрузка устройства.
  • Перезагрузите Компьютер Mac.
  • Синхронизация устройства с iTunes (это приведет к удалению отчетов о сбоях с устройства).

MT1404: не удалось прочитать отчет о сбое: AFCFileRefOpen (*) возвращено: *

При попытке получить доступ к отчетам о сбоях с устройства произошла ошибка.

Чтобы решить эту проблему, выполните следующие действия.

  • Удалите приложение с устройства и повторите попытку.
  • Отключите устройство и снова подключите его.
  • Перезагрузка устройства.
  • Перезагрузите Компьютер Mac.
  • Синхронизация устройства с iTunes (это приведет к удалению отчетов о сбоях с устройства).

MT1405: не удалось прочитать отчет о сбоях: AFCFileRefRead (*) возвращено: *

При попытке получить доступ к отчетам о сбоях с устройства произошла ошибка.

Чтобы решить эту проблему, выполните следующие действия.

  • Удалите приложение с устройства и повторите попытку.
  • Отключите устройство и снова подключите его.
  • Перезагрузка устройства.
  • Перезагрузите Компьютер Mac.
  • Синхронизация устройства с iTunes (это приведет к удалению отчетов о сбоях с устройства).

MT1406: не удалось перечислить отчеты о сбоях: AFCDirectoryOpen (*) возвращено: *

При попытке получить доступ к отчетам о сбоях с устройства произошла ошибка.

Чтобы решить эту проблему, выполните следующие действия.

  • Удалите приложение с устройства и повторите попытку.
  • Отключите устройство и снова подключите его.
  • Перезагрузка устройства.
  • Перезагрузите Компьютер Mac.
  • Синхронизация устройства с iTunes (это приведет к удалению отчетов о сбоях с устройства).

MT16xxx: MachO

MT1600: не динамическая библиотека Mach-O (неизвестный заголовок "0x*"): *.

Произошла ошибка при обработке динамической библиотеки.

Убедитесь, что динамическая библиотека является допустимой динамической библиотекой Mach-O.

Формат библиотеки можно проверить с помощью file команды из терминала:

file -arch all -l /path/to/library.dylib

MT1601: не статическая библиотека (неизвестный заголовок "*"). *.

Произошла ошибка при обработке статической библиотеки.

Убедитесь, что статическая библиотека является допустимой статической библиотекой Mach-O.

Формат библиотеки можно проверить с помощью file команды из терминала:

file -arch all -l /path/to/library.a

MT1602: не динамическая библиотека Mach-O (неизвестный заголовок "0x*"): *.

Произошла ошибка при обработке динамической библиотеки.

Убедитесь, что динамическая библиотека является допустимой динамической библиотекой Mach-O.

Формат библиотеки можно проверить с помощью file команды из терминала:

file -arch all -l /path/to/library.dylib

MT1603: неизвестный формат для записи жира в позиции * в *.

Произошла ошибка при обработке архива жира.

Убедитесь, что архив жира является допустимым.

Формат жирного архива можно проверить с помощью file команды из терминала:

file -arch all -l /path/to/file

MT1604: файл типа * не является файлом MachO (*).

Произошла ошибка при обработке файла MachO в вопросе.

Убедитесь, что файл является допустимой динамической библиотекой Mach-O.

Формат файла можно проверить с помощью file команды из терминала:

file -arch all -l /path/to/file

MT2xxxx: сообщения об ошибках компоновщика

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

error MT2001: Could not link assemblies.
    Method: `System.Void Todo.TodoListPageCS/<<-ctor>b__1_0>d::SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine)`
    Assembly: `QuickTodo, Version=1.0.6297.28241, Culture=neutral, PublicKeyToken=null`
Reason: Value cannot be null.
Parameter name: instruction

Важно отправить отчет об ошибке для таких проблем. В большинстве случаев обходной путь можно предоставить, пока не будет опубликовано правильное исправление. Приведенные выше сведения критически важны (а также тестовый случай и (или) сборка binairy) для устранения проблемы.

MT2002: не удается разрешить ссылку: *

MT2003: параметр "*" будет игнорироваться, так как связывание отключено

MT2004: не удалось найти файл дополнительных определений компоновщика *.

MT2005: определения из "*" не удалось проанализировать.

MT2006: не удается загрузить mscorlib.dll из: *. Переустановите Xamarin.iOS.

Как правило, это означает, что возникла проблема с установкой Xamarin.iOS. Попробуйте переустановить Xamarin.iOS.

MT2010: Unknown HttpMessageHandler *. Допустимые значения: HttpClientHandler (по умолчанию), CFNetworkHandler или NSUrlSessionHandler

MT2011: Unknown TlsProvider *. Допустимыми значениями являются значения по умолчанию или appletls.

Значение, заданное tls-provider= не является допустимым поставщиком TLS (transport Layer Security).

И defaultappletls являются единственными допустимыми значениями, и оба представляют один и тот же параметр, который заключается в предоставлении поддержки SSL/TLS с помощью собственного API TLS Apple.

MT2015: Invalid HttpMessageHandler * for watchOS. Единственным допустимым значением является NSUrlSessionHandler.

Это предупреждение, возникающее из-за того, что файл проекта указывает недопустимый httpMessageHandler.

Более ранние версии наших средств предварительной версии, созданные по умолчанию, недопустимым значением в файле проекта.

Чтобы устранить это предупреждение, откройте файл проекта в текстовом редакторе и удалите все узлы HttpMessageHandler из XML.

MT2016: недопустимый параметр TlsProvider legacy . Будет использоваться только допустимое значение appletls .

Поставщик legacy , который был полностью управляемым поставщиком SSLv3 / TLSv1, больше не поставляется с Xamarin.iOS. Проекты, которые использовали этот старый поставщик и теперь создаются с более новым appletls .

Чтобы устранить это предупреждение, откройте файл проекта в текстовом редакторе и удалите все узлы MtouchTlsProvider из XML.

MT2017: не удалось обработать XML-описание.

Это означает, что в предоставленном файле конфигурации пользовательского компоновщика XML возникает ошибка. Просмотрите файл.

MT2018: сборка "*" ссылается из двух разных расположений: "*" и "*".

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

MT2019: не удается загрузить корневую сборку "*"

Не удалось загрузить корневую сборку. Убедитесь, что путь в сообщении об ошибке ссылается на существующий файл, и что это допустимая сборка .NET.

MT202x: не удалось выполнить обработку ...оптимизатора привязки.

При попытке оптимизировать созданный код привязки произошло непредвиденное. Элемент, вызывающий проблему, называется в сообщении об ошибке. Чтобы устранить эту проблему, сборку с именем (или содержащую именованный тип или метод) необходимо предоставить в новой проблеме на github вместе с полным журналом сборки с включенной детализацией (т. е. -v -v -v -v в дополнительных аргументах mtouch).

Последняя цифра x будет:

  • 0 для имени сборки;
  • 1 для имени типа;
  • 3 для имени метода;

MT2030: удаление ресурсов пользователей не удалось выполнить обработку ....

При попытке удалить пользовательские ресурсы произошло что-то неожиданное. Сборка, вызывающая проблему, называется в сообщении об ошибке. Чтобы устранить эту проблему, сборка должна быть предоставлена в новой проблеме на github вместе с полным журналом сборки с включенной детализацией (т. е. -v -v -v -v в дополнительных аргументах mtouch).

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

  • __monotouch_content_*и ресурсы; и __monotouch_pages_*
  • Собственные библиотеки, внедренные в сборку привязки;

MT2040: сбой обработки ...метода установки HttpMessageHandler по умолчанию.

При попытке задать значение по умолчанию HttpMessageHandler для приложения произошло непредвиденное. Отправьте новую проблему на github вместе с полным журналом сборки с включенной детализацией (т. е. -v -v -v -v в дополнительных аргументах mtouch).

MT2050: не удалось выполнить обработку ...кода.

Произошло что-то неожиданное при попытке удалить код из доставки BCL с приложением. Отправьте новую проблему на github вместе с полным журналом сборки с включенной детализацией (т. е. -v -v -v -v в дополнительных аргументах mtouch).

MT2060: не удалось выполнить обработку ...запечатателя.

Непредвиденное произошло при попытке запечатывать типы или методы (окончательные) или при девиртуализации некоторых методов. Сборка, вызывающая проблему, называется в сообщении об ошибке. Чтобы устранить эту проблему, сборка должна быть предоставлена в новой проблеме на github вместе с полным журналом сборки с включенной детализацией (т. е. -v -v -v -v в дополнительных аргументах mtouch).

MT2070: не удалось выполнить обработку ...метаданных.

При попытке уменьшить метаданные из приложения произошло непредвиденное. Сборка, вызывающая проблему, называется в сообщении об ошибке. Чтобы устранить эту проблему, сборка должна быть предоставлена в новой проблеме на github вместе с полным журналом сборки с включенной детализацией (т. е. -v -v -v -v в дополнительных аргументах mtouch).

MT2080: сбой обработки ...MarkNSObjects.

Произошло что-то неожиданное при попытке пометить NSObject подклассы из приложения. Сборка, вызывающая проблему, называется в сообщении об ошибке. Чтобы устранить эту проблему, сборка должна быть предоставлена в новой проблеме на github вместе с полным журналом сборки с включенной детализацией (т. е. -v -v -v -v в дополнительных аргументах mtouch).

MT2090: не удалось выполнить обработку ...Inliner.

При попытке встроенного кода из приложения произошло что-то неожиданное. Сборка, вызывающая проблему, называется в сообщении об ошибке. Чтобы устранить эту проблему, сборка должна быть предоставлена в новой проблеме на github вместе с полным журналом сборки с включенной детализацией (т. е. -v -v -v -v в дополнительных аргументах mtouch).

MT2100: не удалось выполнить обработку ...смарт-преобразования перечисления.

Произошло что-то неожиданное при попытке пометить методы преобразования для смарт-перечислений из приложения. Сборка, вызывающая проблему, называется в сообщении об ошибке. Чтобы устранить эту проблему, сборка должна быть предоставлена в новой проблеме на github вместе с полным журналом сборки с включенной детализацией (т. е. -v -v -v -v в дополнительных аргументах mtouch).

MT2101: не удается разрешить ссылку "*", на которую ссылается метод "*" в "*".

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

Сборка, вызывающая проблему, называется в сообщении об ошибке. Чтобы устранить эту проблему, сборка должна быть предоставлена в новой проблеме на github вместе с полным журналом сборки с включенной детализацией (т. е. -v -v -v -v в дополнительных аргументах mtouch).

MT2102: ошибка обработки метода '*' в сборке '*': *

Произошло что-то неожиданное при попытке пометить метод, упоминание в сообщении об ошибке.

Сборка, вызывающая проблему, называется в сообщении об ошибке. Чтобы устранить эту проблему, сборка должна быть предоставлена в новой проблеме на github вместе с полным журналом сборки с включенной детализацией (т. е. -v -v -v -v в дополнительных аргументах mtouch).

MT2103: сборка обработки ошибок "*": *

При обработке сборки произошла непредвиденная ошибка.

Сборка, вызывающая проблему, называется в сообщении об ошибке. Чтобы устранить эту проблему, сборка должна быть предоставлена в новой проблеме на github вместе с полным журналом сборки с включенной детализацией (т. е. -v -v -v -v в дополнительных аргументах mtouch).

Сборки смешанного режима не могут обрабатываться компоновщиком.

Дополнительные сведения о сборках смешанного режима см. в смешанных (собственных и управляемых ) сборках.

MT3xxxx: сообщения об ошибках AOT

MT3001: не удалось выполнить сборку "*"

Обычно это указывает на ошибку в компиляторе AOT. Отправьте новую проблему на github с проектом, который можно использовать для воспроизведения ошибки.

Иногда это можно обойти, отключив добавочные сборки в параметре сборки iOS проекта (но это по-прежнему ошибка, поэтому сообщите об этом в любом случае).

MT3002: ограничение AOT: метод "*" должен быть статическим, так как он украшен [MonoPInvokeCallback]. См. developer.xamarin.com/guides/ios/advanced_topics/limitations/#Reverse_Callbacks

Это сообщение об ошибке поступает из компилятора AOT.

MT3003: конфликтующие параметры --debug и --llvm. Обратимая отладка отключена.

Отладка не поддерживается при включении LLVM. Если необходимо отладить приложение, отключите LLVM сначала.

MT3004: не удалось AOT сборку "*", так как она не существует.

MT3005: зависимость "*" сборки "*" не найдена. Ознакомьтесь со ссылками проекта.

Обычно это происходит, когда сборка ссылается на другую версию сборки платформы (обычно версию .NET 4 mscorlib.dll).

Это не поддерживается и может не выполняться должным образом (сборка может использовать API из версии .NET 4 mscorlib.dll, что версия Xamarin.iOS не имеет).

MT3006: не удалось вычислить полную карту зависимостей для проекта. Это приведет к снижению времени сборки, так как Xamarin.iOS не удается правильно определить, что необходимо перестроить (и что не нужно перестроить). Дополнительные сведения см. в предыдущих предупреждениях.

сборка или выполнение правильно (сборка может использовать API из версии .NET 4 mscorlib.dll, что версия Xamarin.iOS не имеет).

MT3007: файлы сведений отладки (*.mdb) не загружаются при включении llvm.

MT3008: для поддержки Bitcode требуется использование серверной части LLVM AOT (--llvm)

Для поддержки Bitcode требуется использование серверной части LLVM AOT (--llvm).

Отключите поддержку Bitcode или включите LLVM.

MT4xxxx: сообщения об ошибках создания кода

MT40xxx: Main

MT4001: не удалось развернуть *основной шаблон.

При создании main.mпроизошла ошибка. Отправьте новую проблему на github.

MT4002: не удалось скомпилировать созданный код для методов P/Invoke.

Не удалось скомпилировать созданный код для методов P/Invoke. Отправьте новую проблему на github.

MT41xxx: Registrar

MT4101: registrar невозможно создать подпись для типа *.

Тип был найден в экспортируемом API, который среда выполнения не знает, как маршалировать в /из Objective-C.

Если вы считаете, что Xamarin.iOS должен поддерживать тип, отправьте запрос на улучшение на github.

MT4102: registrar обнаружен недопустимый тип * в сигнатуре для метода *. Вместо этого используйте *.

В настоящее время это происходит только с одним типом: System.DateTime. Objective-C Вместо этого используйте эквивалент (NSDate).

MT4103: найден недопустимый тип * в сигнатуре метода*: registrar тип реализует INativeObject, но не имеет конструктора, который принимает два аргумента (IntPtr, bool)

Это происходит при registrar обнаружении типа в сигнатуре с упоминание характеристиками. Может registrar потребоваться создать новые экземпляры типа, и в этом случае требуется конструктор с сигнатурой (IntPtr, bool) — первый аргумент (IntPtr) указывает управляемый дескриптор, а второй, если вызывающий передает владение собственным дескриптором (если это значение равно false "сохранить" будет вызываться для объекта).

MT4104: registrar не удается маршалал возвращаемого значения для типа * в сигнатуре для метода *.

Тип был найден в экспортируемом API, который среда выполнения не знает, как маршалировать в /из Objective-C.

Если вы считаете, что Xamarin.iOS должен поддерживать тип, отправьте запрос на улучшение на github.

MT4105: не registrar удается маршалал параметра типа * в сигнатуре для метода *.

Если вы считаете, что Xamarin.iOS должен поддерживать тип, отправьте запрос на улучшение на github.

MT4106: registrar невозможно маршалировать возвращаемое значение для структуры в сигнатуре * метода *.

Тип был найден в экспортируемом API, который среда выполнения не знает, как маршалировать в /из Objective-C.

Если вы считаете, что Xamarin.iOS должен поддерживать тип, отправьте запрос на улучшение на github.

MT4107: невозможно registrar маршалирование параметра типа * в сигнатуре для метода +.

Тип был найден в экспортируемом API, который среда выполнения не знает, как маршалировать в /из Objective-C.

Если вы считаете, что Xamarin.iOS должен поддерживать тип, отправьте запрос на улучшение на github.

MT4108: registrar не удается получить тип ObjectiveC для управляемого типа *.

Тип был найден в экспортируемом API, который среда выполнения не знает, как маршалировать в /из Objective-C.

Если вы считаете, что Xamarin.iOS должен поддерживать тип, отправьте запрос на улучшение на github.

MT4109: не удалось скомпилировать созданный registrar код.

Не удалось скомпилировать созданный код для registrar. Журнал сборки будет содержать выходные данные собственного компилятора, объясняя, почему код не компилируется.

Это всегда ошибка в Xamarin.iOS; Отправьте новую проблему на github в проект или тестовый случай.

MT4110: registrar невозможно маршалить параметр out типа * в сигнатуре для метода *.

MT4111: registrar невозможно создать подпись для типа * в методе *.

MT4112: registrar найден недопустимый тип *. Регистрация универсальных типов Objective-C с не поддерживается и может привести к случайному поведению и (или) сбою (для обратной совместимости со старыми версиями Xamarin.iOS можно игнорировать эту ошибку, передав --unsupported--enable-generics-in-registrar в качестве дополнительного аргумента mtouch на странице параметров сборки iOS проекта. Дополнительные сведения см . в developer.xamarin.com/guides/ios/advanced_topics/registrar ).

MT4113: registrar найден универсальный метод: "*.*". Экспорт универсальных методов не поддерживается и приведет к случайному поведению и/или сбою.

MT4114: непредвиденная ошибка в методе registrar "*.*" -

MT4116: не удалось зарегистрировать сборку "*": *

MT4117: registrar обнаружена несоответствие сигнатуры в методе "*.*" — селектор указывает, что метод принимает параметры *, а управляемый метод имеет * параметры* .

MT4118: не удается зарегистрировать два управляемых типа ("*" и "*" с одинаковым собственным именем ("*").

MT4119: не удалось зарегистрировать селектор "*" члена "*.*", так как селектор уже зарегистрирован на другом элементе.

MT4120: registrar найден неизвестный тип поля "*" в поле "*.*".

Эта ошибка указывает на ошибку в Xamarin.iOS. Отправьте новую проблему на github.

MT4121: не удается использовать GCC/G++ для компиляции созданного кода из статического registrar кода при использовании платформы accounts (файлы заголовков, предоставляемые Apple, используемые во время компиляции, требуют Clang). Используйте Clang (--компилятор:clang) или динамический registrar (---registrar:d ynamic).

MT4122: не удается использовать компилятор Clang, предоставленный в файле . Пакет SDK для компиляции созданного кода из статического registrar кода при наличии в приложении имен типов, отличных от ASCII ("*". Используйте GCC/G++ (-компилятор:gcc|g++), динамический registrar (--registrar:d ynamic) или более новый пакет SDK.

MT4123: тип параметра variadic в функции variadic "*" должен быть System.IntPtr.

MT4124: Недопустимый * найден на "*".

Эта ошибка указывает на ошибку в Xamarin.iOS. Отправьте новую проблему на github.

MT4125: найден недопустимый тип "*" в сигнатуре метода "*": registrar интерфейс должен иметь атрибут Protocol, указывающий его тип оболочки.

MT4126: не удается зарегистрировать два управляемых протокола ("*" и "*" с одинаковым собственным именем ("*").

MT4127: не удается зарегистрировать несколько методов интерфейса для метода "*" (который реализует "*").

MT4128: registrar найден недопустимый универсальный тип параметра "*" в методе "*". Универсальный параметр должен иметь ограничение NSObject.

MT4129: registrar найден недопустимый универсальный тип возвращаемого значения "*" в методе "*". Универсальный тип возвращаемого значения должен иметь ограничение NSObject.

MT4130: registrar не удается экспортировать статические методы в универсальных классах ('*').

MT4131: registrar невозможно экспортировать статические свойства в универсальных классах ('*.*').

MT4132: registrar найден недопустимый универсальный тип возвращаемого значения "*" в свойстве "*". Возвращаемый тип должен иметь ограничение NSObject.

MT4133: не удается создать экземпляр типа "*" Objective-C , так как тип является универсальным. [Исключение среды выполнения]

MT4134: приложение использует платформу "*", которая не включена в пакет SDK для iOS, который вы используете для сборки приложения (эта платформа была представлена в iOS *, при создании с помощью пакета SDK для iOS *). Выберите более новый пакет SDK в параметрах сборки iOS приложения.

MT4135: член "*.*" имеет атрибут export, который не указывает селектор. Требуется селектор.

MT4136: registrar невозможно маршалить тип параметра "*" параметра "*" в методе "*".

MT4138: невозможно registrar маршалить тип свойства "*" свойства "*.*".

MT4139: registrar не удается маршалить тип свойства "*" свойства "*.*". Свойства с атрибутом [Подключение] должны иметь тип свойства NSObject (или подкласс NSObject).

MT4140: registrar обнаружена несоответствие сигнатуры в методе "*.*" — селектор указывает, что метод variadic принимает параметры *, а управляемый метод имеет * параметры* .

MT4141: не удается зарегистрировать селектор "*" на элементе "*", так как Xamarin.iOS неявно регистрирует этот селектор.

Это происходит при подклассе типа платформы и попытке реализовать метод "сохранить", "release" или "dealloc":

class MyNSObject : NSObject
{
  [Export ("retain")]
  new void Retain () {}

  [Export ("release")]
  new void Release () {}

  [Export ("dealloc")]
  new void Dealloc () {}
}

Однако можно переопределить эти методы, если класс не является первым подклассом типа платформы:

class MyNSObject : NSObject
{
}

class MyCustomNSObject : MyNSObject
{
  [Export ("retain")]
  new void Retain () {}

  [Export ("release")]
  new void Release () {}

  [Export ("dealloc")]
  new void Dealloc () {}
}

В этом случае Xamarin.iOS переопределится retain, release а dealloc в MyNSObject классе нет конфликтов.

MT4142: не удалось зарегистрировать тип "*".

MT4143: не удалось зарегистрировать класс ObjectiveC "*", он не является производным от любого известного класса ObjectiveC (включая NSObject).

MT4144: не удается зарегистрировать метод "*", так как он не имеет связанной батутной линии..

Это означает ошибку в Xamarin.iOS. Отправьте новую проблему на github.

MT4145: недопустимый перечисление "*": перечисления с атрибутом [Native] должны иметь базовый тип перечисления "long" или "ulong".

MT4146: параметр Name атрибута Registrar класса "*" ("*") содержит недопустимый символ: "*" (*).

Имя класса Objectice-C не может содержать пробелы, что означает, что Register атрибут в соответствующем управляемом классе не может содержать Name пробелы.

Убедитесь, что Register атрибут управляемого класса, упоминание в сообщении об ошибке, не содержит пробелов.

MT4147: обнаружен протокол, наследуемый от протокола JSExport при использовании динамического registrar. Невозможно динамически экспортировать протоколы в JavaScriptCore; Необходимо использовать статический registrar параметр (добавить "--registrar:static к дополнительным аргументам mtouch в параметрах сборки iOS проекта для выбора статического registrar).

MT4148: registrar найден универсальный протокол: "*". Экспорт универсальных протоколов не поддерживается.

MT4149: не удается зарегистрировать метод "*.*", так как тип первого параметра ("*" не соответствует типу категории ("*").

MT4150: не удается зарегистрировать тип "*", так как свойство Type ('*) в атрибуте Category не наследует от NSObject.

MT4151: не удается зарегистрировать тип "*", так как свойство Type в атрибуте Category не задано.

MT4152: не удается зарегистрировать тип "*" в качестве категории, так как он реализует INativeObject или подклассы NSObject.

MT4153: не удается зарегистрировать тип "*" в качестве категории, так как он является универсальным.

MT4154: не удается зарегистрировать метод "*" в качестве метода категории, так как он является универсальным.

MT4155: не удается зарегистрировать метод "*" с селектором "*" в качестве метода категории на "*", так как Objective-C у него уже есть реализация для этого селектора.

MT4156: не удается зарегистрировать две категории ("*" и "*" с одинаковым собственным именем ("*").

MT4157: не удается зарегистрировать метод категории "*", так как требуется по крайней мере один параметр (и его тип должен соответствовать типу категории "*")

MT4158: не удается зарегистрировать конструктор * в категории *, так как конструкторы в категориях не поддерживаются.

MT4159: не удается зарегистрировать метод "*" в качестве метода категории, так как методы категорий должны быть статическими.

MT4160: недопустимый символ "*" (*), найденный в селекторе "*" для "*".

MT4161: найдена неподдерживаемая структура "*": registrar все поля в структуре также должны быть структурами (поле "*" с типом "{2}" не является структурой).

Найдена registrar структура с неподдерживаемых полей.

Все поля в структуре, которая предоставляется Objective-C , также должны быть структурами (а не классами).

MT4162: тип "*" (используемый как {2}*) недоступен в * (он появился в * *)* Сборка с помощью нового пакета SDK (обычно выполняется с помощью последней версии Xcode).

Найден registrar тип, который не включен в текущий пакет SDK.

Обновите Xcode.

MT4163: внутренняя ошибка в registrar (*).

Эта ошибка указывает на ошибку в Xamarin.iOS. Отправьте новую проблему на github.

MT4164: не удается экспортировать свойство "*", так как его селектор "*" является Objective-C ключевое слово. Используйте другое имя.

Селектор для заданного свойства не является допустимым Objective-C идентификатором.

Используйте допустимый Objective-C идентификатор в качестве селекторов.

MT4165: registrar не удалось найти тип System.Void в любой из ссылочных сборок.

Эта ошибка, скорее всего, указывает на ошибку в Xamarin.iOS. Отправьте новую проблему на github.

MT4166: не удается зарегистрировать метод "*", так как подпись содержит тип (*), который не является ссылочным типом.

Обычно это означает ошибку в Xamarin.iOS. Отправьте новую проблему на github.

MT4167: не удается зарегистрировать метод "*", так как подпись содержит универсальный тип (*) с универсальным типом аргумента, который не является подклассом NSObject (*).

Обычно это означает ошибку в Xamarin.iOS. Отправьте новую проблему на github.

MT4168: не удается зарегистрировать тип "{managed_name}", так как его Objective-C имя "{exported_name}" является Objective-C ключевое слово. Используйте другое имя.

Имя Objective-C заданного типа не является допустимым Objective-C идентификатором.

Используйте допустимый Objective-C идентификатор.

MT4169: не удалось создать оболочку P/Invoke для {method}: {message}

Xamarin.iOS не удалось создать функцию оболочки P/Invoke для упоминание. Проверка сообщение об ошибке для основной причины.

MT4170: registrar невозможно преобразовать из "{managed type}" в "{native type}" для возвращаемого значения в методе {method}.

См. описание ошибки MT4172.

MT4171: атрибут BindAs для члена {member} недопустим: тип BindAs {type} отличается от типа свойства {type}.

Убедитесь, что тип в атрибуте BindAs соответствует типу присоединенного элемента.

MT4172: registrar невозможно преобразовать из "{native type}" в "{managed type}" для параметра "{имя параметра}" в методе {method}.

Не registrar поддерживает преобразование между упоминание типами.

Это ошибка в Xamarin.iOS, если этот API предоставляется Xamarin.iOS. Отправьте новую проблему на github.

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

MT5xx: сообщения об ошибках GCC и цепочки инструментов

MT51xxx: компиляция

MT5101: отсутствует компилятор "*". Установите компонент Xcode "Программы командной строки"

MT5102: не удалось собрать файл "*".

MT5103: не удалось скомпилировать файл "*".

MT5104: не удалось найти ни компилятор "*", ни "*". Установите компонент Xcode "Программы командной строки"

MT5106: не удалось скомпилировать файлы "*".

Обычно это означает ошибку в Xamarin.iOS; Отправьте новую проблему на github.

MT52xx: связывание

MT5201: сбой собственной компоновки. Просмотрите журнал сборки и флаги пользователя, предоставленные gcc: *

MT5202: сбой при собственном связывании. Просмотрите журнал сборки.

MT5203: предупреждение о собственной компоновке: *

MT5209: ошибка собственной компоновки: *

MT5210: сбой при собственном связывании, неопределенный символ: *. Убедитесь, что все необходимые платформы ссылаются и собственные библиотеки правильно связаны.

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

  • Для сторонней привязки требуется платформа, но привязка не указывает ее в атрибуте [LinkWith] . Решения:
    • Если вы являетесь автором сторонней привязки или имеете доступ к источнику, измените атрибут привязки [LinkWith] , чтобы включить необходимую платформу:

      [LinkWith ("mylib.a", Frameworks = "SystemConfiguration")]
      
    • Если вы не можете изменить стороннюю привязку, вы можете вручную связаться с требуемой платформой, передав -gcc_flags '-framework SystemFramework'mtouch в нее (это делается путем изменения дополнительных аргументов mtouch на странице параметров сборки iOS проекта. Помните, что это необходимо сделать для каждой конфигурации проекта.

  • В некоторых случаях управляемая привязка состоит из нескольких собственных библиотек, и все они должны быть включены в привязки. В каждом проекте привязки может быть несколько собственных библиотек, поэтому решение — просто добавить все необходимые собственные библиотеки в проект привязки.
  • Управляемая привязка ссылается на собственные символы, которые не существуют в собственной библиотеке. Обычно это происходит, когда привязка существует в течение некоторого времени, и машинный код был изменен в течение этого времени, чтобы конкретный собственный класс либо был удален или переименован, в то время как привязка не была обновлена.
  • P/Invoke ссылается на собственный символ, который не существует. Начиная с Xamarin.iOS 7.4 сообщение об ошибке MT5214 будет сообщено в этом случае (дополнительные сведения см. в разделе MT5214).
  • Сторонняя привязка или библиотека была создана с помощью C++, но привязка не указывает ее в атрибуте [LinkWith] . Обычно это довольно легко распознать, так как символы имеют символы с помощью C++ (один из распространенных примеров).__ZNKSt9exception4whatEv
    • Если вы являетесь автором сторонней привязки или имеете доступ к источнику, измените атрибут привязки [LinkWith] , чтобы задать IsCxx флаг:

      [LinkWith ("mylib.a", IsCxx = true)]
      
    • Если вы не можете изменить стороннюю привязку или вручную связаться с сторонней библиотекой, можно задать эквивалентный флаг, передав -cxx mtouch (это делается путем изменения дополнительных аргументов mtouch на странице параметров сборки iOS проекта. Помните, что это необходимо сделать для каждой конфигурации проекта.

MT5211: сбой машинного связывания, неопределенный Objective-C класс: *. Не удалось найти символ "*" в библиотеках или платформах, связанных с приложением.

Это происходит, когда собственный Objective-C компоновщик не может найти класс, на который ссылается кто-то. Это может произойти по нескольким причинам: то же самое, что и для MT5210 , а также:

  • Сторонняя привязка привязана к протоколу Objective-C , но не заметила его атрибутом [Protocol] в определении API. Решения:
    • Добавьте отсутствующий [Protocol] атрибут:

      [BaseType (typeof (NSObject))]
      [Protocol] // Add this
      public interface MyProtocol
      {
      }
      

MT5212: сбой при собственном связывании, повторяющийся символ: *.

Это происходит, когда собственный компоновщик встречает повторяющиеся символы между всеми собственными библиотеками. После этой ошибки может возникнуть одна или несколько ошибок MT5213 с расположением для каждого вхождения символа. Возможные причины этой ошибки:

  • Одна и та же собственная библиотека включается дважды.

  • Две отдельные собственные библиотеки определяют одни и те же символы.

  • Собственная библиотека не правильно создана и содержит один и тот же символ более одного раза. Это можно подтвердить с помощью следующего набора команд из терминала (замените i386 на x86_64/armv7/armv7/armv7s/arm64 в соответствии с архитектурой, для которой вы создаете):

    # Native libraries are usually fat libraries, containing binary code for
    # several architectures in the same file. First we extract the binary
    # code for the architecture we're interested in.
    lipo libNative.a -thin i386 -output libNative.i386.a
    
    # Now query the native library for the duplicated symbol.
    nm libNative.i386.a | fgrep 'SYMBOL'
    
    # You can also list the object files inside the native library.
    # In most cases this will reveal duplicated object files.
    ar -t libNative.i386.a
    

    Это можно исправить несколькими способами.

    • Попросите поставщика собственной библиотеки исправить его и предоставить обновленную версию.
    • Исправьте его самостоятельно, удалив дополнительные файлы объектов (это работает только в том случае, если проблема фактически дублируются файлы объектов).
    # Find out if the library is a fat library, and which
    # architectures it contains.
    lipo -info libNative.a
    
    # Extract each architecture (i386/x86_64/armv7/armv7s/arm64) to a separate file
    lipo libNative.a -thin ARCH -output libNative.ARCH.a
    
    # Extract the object files for the offending architecture
    # This will remove the duplicates by overwriting them
    # (since they have the same filename)
    mkdir -p ARCH
    cd ARCH
    ar -x ../libNative.ARCH.a
    
    # Reassemble the object files in an .a
    ar -r ../libNative.ARCH.a *.o
    cd ..
    
    # Reassemble the fat library
    lipo *.a -create -output libNative.a
    
    • Попросите компоновщика удалить неиспользуемый код. Xamarin.iOS будет выполнять это автоматически, если выполнены все следующие условия:
      • Все атрибуты сторонних привязок включили [LinkWith] SmartLink:

        [assembly: LinkWith ("libNative.a", SmartLink = true)]
        
      • Не -gcc_flags передается в mtouch (в поле дополнительных аргументов mtouch параметров сборки iOS проекта).

      • Кроме того, можно напрямую попросить компоновщика удалить неиспользуемый код, добавив -gcc_flags -dead_strip к дополнительным аргументам mtouch в параметрах сборки iOS проекта.

Эта ошибка сообщается только вместе с MT5212. Дополнительные сведения см. в mt5212.

MT5214: сбой при собственном связывании, неопределенный символ: *. На этот символ ссылается управляемый член *. Убедитесь, что на все необходимые платформы ссылаются и связаны собственные библиотеки.

Эта ошибка сообщается, когда управляемый код содержит P/Invoke в собственном методе, который не существует. Например:

using System.Runtime.InteropServices;
class MyImports {
   [DllImport ("__Internal")]
   public static extern void MyInexistentFunc ();
}

Существует несколько возможных решений:

  • Удалите вопрос о P/Invokes из исходного кода.
  • Включите управляемый компоновщик для всех сборок (это делается в параметрах сборки iOS проекта, задав для параметра "Поведение компоновщика" значение "Все сборки"). Это приведет к удалению всех P/Invokes, которые вы не используете из приложения (автоматически, а не вручную, как в предыдущей точке). Недостатком является то, что это сделает симулятор несколько медленнее, и оно может нарушить приложение, если оно использует отражение - дополнительные сведения о компоновщике можно найти здесь )
  • Создайте вторую собственную библиотеку, содержащую отсутствующие собственные символы. Обратите внимание, что это просто обходное решение (если вы попытаетесь вызвать эти функции, приложение завершится сбоем).

MT5215: ссылки на "*" могут потребовать дополнительных инструкций -framework=XXX или -lXXXXX для собственного компоновщика

Это предупреждение, указывающее, что P/Invoke было обнаружено для ссылки на библиотеку, которая находится под вопросом, но приложение не связывается с ним.

MT5216: сбой собственной компоновки для *.

Эта ошибка сообщается при связывании выходных данных компилятора AOT.

Эта ошибка, скорее всего, указывает на ошибку в Xamarin.iOS. Отправьте новую проблему на github.

MT5217: сбой собственной компоновки, так как командная строка компоновщика была слишком длинной (* символов).

Сбой собственной компоновки, и это возможно, потому что команда компоновщика была слишком длинной.

Проекты Xamarin.iOS часто ссылаются на собственные символы динамически, что означает, что собственный компоновщик может удалить такие собственные символы во время процесса связывания в собственном коде, так как собственный компоновщик не видит, что эти символы используются.

Обычно Xamarin.iOS попросит собственный компоновщик сохранить такие символы с помощью -u symbol флага компоновщика, но если существует много таких символов, вся командная строка может превышать максимальную длину командной строки, как указано операционной системой.

Существует несколько возможных источников для таких динамических символов:

  • P/Invokes to methods in statically linked libraries (где имя библиотеки dll находится __Internal в атрибуте [DllImport ("__Internal")]DllImport).
  • Ссылки на поля в расположениях памяти в статически связанных библиотеках из проектов привязки ([Field] атрибуты).
  • Objective-C классы, на которые ссылаются статически связанные библиотеки из проектов привязки (при использовании добавочных сборок или при использовании статического registrar).

Возможные решения:

  • Включите управляемый компоновщик (если это возможно для всех сборок вместо только сборок пакета SDK). Это может удалить достаточно источников для динамических символов, чтобы командная строка компоновщика не превысила максимальное значение.
  • Уменьшите количество P/Invokes, ссылок на поля и/или Objective-C классов.
  • Переопределите динамические символы, чтобы иметь более короткие имена.
  • Передайте -dlsym:false дополнительный аргумент mtouch в параметрах сборки iOS проекта. С помощью этого параметра Xamarin.iOS создаст собственную ссылку в скомпилированном коде AOT и не потребуется попросить компоновщика сохранить этот символ. Однако это работает только для сборок устройств, и это приведет к ошибкам компоновщика, если есть P/Invokes для функций, которые не существуют в статической библиотеке.
  • Передайте --dynamic-symbol-mode=code дополнительные аргументы mtouch в параметрах сборки iOS проекта. С помощью этого параметра Xamarin.iOS создаст дополнительный машинный код, который ссылается на эти символы вместо запроса собственного компоновщика сохранить эти символы с помощью аргументов командной строки. Недостатком этого подхода является то, что он увеличит размер исполняемого файла несколько.
  • Включите статический registrar параметр, передав --registrar:static в качестве дополнительного аргумента mtouch в параметрах сборки iOS проекта (для сборок симулятора, так как статический registrar уже используется по умолчанию для сборок устройств). registrar Статический код создает код, который ссылается на Objective-C классы статически, поэтому нет необходимости запрашивать собственный компоновщик для сохранения таких классов.
  • Отключите добавочные сборки (для сборок устройств). Если добавочные сборки включены, код, созданный статическим registrar компоновщиком, не будет рассматриваться в собственном компоновщике, что означает, что Xamarin.iOS по-прежнему должен попросить компоновщика сохранить ссылки Objective-C на классы. Таким образом, отключение добавочных сборок будет препятствовать этой необходимости.

MT5218: нельзя игнорировать динамический символ {symbol} (--ignore-dynamic-symbol={symbol}), так как он не был обнаружен как динамический символ.

Аргумент командной строки --ignore-dynamic-symbol=symbol был передан, но этот символ не является символом, распознаваемым как динамический символ, который должен быть сохранен вручную.

Ниже приведены две основные причины.

  • Неправильное имя символа.
    • Не добавляйте знак подчеркивания к имени символа.
    • Символ для Objective-C классов OBJC_CLASS_$_<classname>.
  • Символ правильный, но это символ, который уже сохраняется обычными средствами (некоторые параметры сборки вызывают точный список динамических символов.

MT53xx: другие средства

MT5301: отсутствует средство "полоса". Установите компонент Xcode "Программы командной строки"

MT5302: отсутствует средство dsymutil. Установите компонент Xcode "Программы командной строки"

MT5303: не удалось создать символы отладки (каталог dSYM). Просмотрите журнал сборки.

Ошибка при запуске dsymutil в последнем каталоге .app для создания символов отладки. Просмотрите журнал сборки, чтобы просмотреть выходные данные dsymutil и узнать, как его можно исправить.

MT5304: не удалось удалить окончательный двоичный файл. Просмотрите журнал сборки.

Ошибка при запуске средства "полоса" для удаления сведений об отладке из приложения.

MT5305: отсутствует средство "липо". Установите компонент Xcode "Программы командной строки"

MT5306: не удалось создать библиотеку жира. Просмотрите журнал сборки.

При запуске средства "липо" произошла ошибка. Просмотрите журнал сборки, чтобы увидеть ошибку, сообщаемую "липо".

MT5307: не удалось подписать исполняемый файл. Просмотрите журнал сборки.

Произошла ошибка при подписи приложения. Просмотрите журнал сборки, чтобы увидеть ошибку, сообщаемую "codesign".

MT6xxxx: сообщения об ошибках внутренних средств mtouch

MT600x: Стриппер

MT6001: запущенная версия Cecil не поддерживает удаление сборок

MT6002: не удалось выполнить сборку *полосы.

Произошла ошибка при удалении управляемого кода (удаление кода IL) из сборок в приложении.

MT6003: [UnauthorizedAccessException message]

Произошла ошибка безопасности при отрезках символов отладки из приложения.

MT7xxxx: сообщения об ошибках MSBuild

MT7001: не удалось разрешить IP-адреса узла для параметров отладчика Wi-Fi.

Задача MSBuild: DetectDebugNetworkConfigurationTaskBase

Действия по устранению неполадок.

  • попробуйте выполнить csharp -e 'System.Net.Dns.GetHostEntry (System.Net.Dns.GetHostName ()).AddressList' (это должно дать IP-адрес, а не ошибку).
  • попробуйте выполнить команду "ping "hostname", которая может дать вам дополнительные сведения, например: cannot resolve MyHost.local: Unknown host

В некоторых случаях это проблема с локальной сетью, и ее можно устранить, добавив неизвестный узел 127.0.0.1 MyHost.local в /etc/hosts.

MT7002: этот компьютер не имеет сетевых адаптеров. Это необходимо при отладке или профилировании на устройстве через Wi-Fi.

Задача MSBuild: DetectDebugNetworkConfigurationTaskBase

MT7003: расширение приложения "*" не содержит info.plist.

Задача MSBuild: ValidateAppBundleTaskBase

MT7004: расширение приложения "*" не указывает CFBundleIdentifier.

Задача MSBuild: ValidateAppBundleTaskBase

MT7005: расширение приложения "*" не указывает CFBundleExecutable.

Задача MSBuild: ValidateAppBundleTaskBase

MT7006: расширение приложения "*" имеет недопустимый CFBundleIdentifier (*), он не начинается с основного пакета приложений CFBundleIdentifier (*).

Задача MSBuild: ValidateAppBundleTaskBase

MT7007: Расширение приложения "*" имеет CFBundleIdentifier (*), который заканчивается незаконным суффиксом ".key".

Задача MSBuild: ValidateAppBundleTaskBase

MT7008: расширение приложения "*" не указывает CFBundleShortVersionString.

Задача MSBuild: ValidateAppBundleTaskBase

MT7009: расширение приложения "*" имеет недопустимый info.plist: он не содержит словарь NSExtension.

Задача MSBuild: ValidateAppBundleTaskBase

MT7010: расширение приложения "*" содержит недопустимое значение Info.plist: словарь NSExtension не содержит значение NSExtensionPointIdentifier.

Задача MSBuild: ValidateAppBundleTaskBase

MT7011: Расширение WatchKit "*" имеет недопустимый словарь Info.plist: словарь NSExtension не содержит словарь NSExtensionAttributes.

Задача MSBuild: ValidateAppBundleTaskBase

MT7012: Расширение WatchKit "*" не имеет ровно одного приложения для просмотра.

Задача MSBuild: ValidateAppBundleTaskBase

MT7013: Расширение WatchKit "*" имеет недопустимый info.plist: UIRequiredDeviceCapabilities должен содержать возможность "watch-companion".

Задача MSBuild: ValidateAppBundleTaskBase

MT7014: приложение "Просмотр" не содержит info.plist.

Задача MSBuild: ValidateAppBundleTaskBase

MT7015: приложение watch "*" не указывает CFBundleIdentifier.

Задача MSBuild: ValidateAppBundleTaskBase

MT7016: Приложение "Просмотр" имеет недопустимый CFBundleIdentifier (*), он не начинается с основного пакета приложений CFBundleIdentifier (*).

Задача MSBuild: ValidateAppBundleTaskBase

MT7017: приложение "Просмотр" не имеет допустимого значения UIDeviceFamily. Ожидается"Смотреть (4)", но найдено "* (*)".

Задача MSBuild: ValidateAppBundleTaskBase

MT7018: приложение "Просмотр" не указывает CFBundleExecutable

Задача MSBuild: ValidateAppBundleTaskBase

MT7019: Приложение watch "*" имеет недопустимое значение WKCompanionAppBundleIdentifier ('*), оно не соответствует основному пакету приложений CFBundleIdentifier ('*).

Задача MSBuild: ValidateAppBundleTaskBase

MT7020: Приложение "Просмотр" имеет недопустимый info.plist: ключ WKWatchKitApp должен присутствовать и иметь значение true.

Задача MSBuild: ValidateAppBundleTaskBase

MT7021: Приложение "Просмотр" имеет недопустимый info.plist: ключ LSRequiresI Телефон OS не должен присутствовать.

Задача MSBuild: ValidateAppBundleTaskBase

MT7022: приложение "Просмотр" не содержит расширения часов.

Задача MSBuild: ValidateAppBundleTaskBase

MT7023: расширение watch "*" не содержит info.plist.

Задача MSBuild: ValidateAppBundleTaskBase

MT7024: Расширение watch '*' не указывает CFBundleIdentifier.

Задача MSBuild: ValidateAppBundleTaskBase

MT7025: Расширение часов "*" не указывает CFBundleExecutable.

Задача MSBuild: ValidateAppBundleTaskBase

MT7026: Расширение Watch "*" имеет недопустимый CFBundleIdentifier (*), он не начинается с основного пакета приложений CFBundleIdentifier (*).

Задача MSBuild: ValidateAppBundleTaskBase

MT7027: Расширение watch '*' имеет CFBundleIdentifier (*), который заканчивается незаконным суффиксом ".key".

Задача MSBuild: ValidateAppBundleTaskBase

MT7028: Расширение watch '*' имеет недопустимый info.plist: он не содержит словарь NSExtension.

Задача MSBuild: ValidateAppBundleTaskBase

MT7029: Расширение watch '*' имеет недопустимый info.plist: NSExtensionPointIdentifier должен быть "com.apple.watchkit".

Задача MSBuild: ValidateAppBundleTaskBase

MT7030: Расширение watch "*" имеет недопустимый info.plist: словарь NSExtension должен содержать NSExtensionAttributes.

Задача MSBuild: ValidateAppBundleTaskBase

MT7031: Расширение watch "*" имеет недопустимый info.plist: словарь NSExtensionAttributes должен содержать WKAppBundleIdentifier.

Задача MSBuild: ValidateAppBundleTaskBase

MT7032: Расширение WatchKit "*" имеет недопустимый info.plist: UIRequiredDeviceCapabilities не должен содержать возможность "watch-companion".

Задача MSBuild: ValidateAppBundleTaskBase

MT7033: приложение "Просмотр" не содержит info.plist.

Задача MSBuild: ValidateAppBundleTaskBase

MT7034: приложение watch "*" не указывает CFBundleIdentifier.

Задача MSBuild: ValidateAppBundleTaskBase

MT7035: приложение "Просмотр" не имеет допустимого значения UIDeviceFamily. Ожидаемое "*", но найдено "* (*)".

Задача MSBuild: ValidateAppBundleTaskBase

MT7036: Приложение "Просмотр" не указывает CFBundleExecutable.

Задача MSBuild: ValidateAppBundleTaskBase

MT7037: Расширение WatchKit "{extensionName}" имеет недопустимое значение WKAppBundleIdentifier ('*), оно не соответствует CFBundleIdentifier ('*).

Задача MSBuild: ValidateAppBundleTaskBase

MT7038: Приложение watch "*" имеет недопустимый info.plist: WKCompanionAppBundleIdentifier должен существовать и должен соответствовать основному пакету приложений CFBundleIdentifier.

Задача MSBuild: ValidateAppBundleTaskBase

MT7039: Приложение "Просмотр" имеет недопустимый info.plist: ключ LSRequiresI Телефон OS не должен присутствовать.

Задача MSBuild: ValidateAppBundleTaskBase

MT7040: пакет приложений {AppBundlePath} не содержит info.plist.

Задача MSBuild: ValidateAppBundleTaskBase

MT7041: путь Main Info.plist не указывает CFBundleIdentifier.

Задача MSBuild: ValidateAppBundleTaskBase

MT7042: путь Main Info.plist не указывает CFBundleExecutable.

Задача MSBuild: ValidateAppBundleTaskBase

MT7043: путь Main Info.plist не указывает CFBundleSupportedPlatforms.

Задача MSBuild: ValidateAppBundleTaskBase

MT7044: путь Main Info.plist не указывает uiDeviceFamily.

Задача MSBuild: ValidateAppBundleTaskBase

MT7045: нераспознанный формат: *.

Задача MSBuild: PropertyListEditorTaskBase

Где * может быть:

  • строка
  • array
  • dict
  • bool
  • real
  • integer
  • Дата
  • .

MT7046: добавление: запись, *, неправильно указана.

Задача MSBuild: PropertyListEditorTaskBase

MT7047: добавление: запись, *, содержит недопустимый индекс массива.

Задача MSBuild: PropertyListEditorTaskBase

MT7048: добавление: * Запись уже существует.

Задача MSBuild: PropertyListEditorTaskBase

MT7049: добавить: не удается добавить запись, *, в родительский.

Задача MSBuild: PropertyListEditorTaskBase

MT7050: Delete: Can't Delete Entry, *, from Parent.

Задача MSBuild: PropertyListEditorTaskBase

MT7051: delete: entry, *, содержит недопустимый индекс массива.

Задача MSBuild: PropertyListEditorTaskBase

MT7052: delete: entry, *, не существует.

Задача MSBuild: PropertyListEditorTaskBase

MT7053: импорт: запись, *, неправильно указан.

Задача MSBuild: PropertyListEditorTaskBase

MT7054: импорт: запись, *, содержит недопустимый индекс массива.

Задача MSBuild: PropertyListEditorTaskBase

MT7055: импорт: файл чтения ошибок: *.

Задача MSBuild: PropertyListEditorTaskBase

MT7056: импорт: невозможно добавить запись *, в родительский.

Задача MSBuild: PropertyListEditorTaskBase

MT7057: слияние: невозможно добавить записи массива в дикт.

Задача MSBuild: PropertyListEditorTaskBase

MT7058: слияние: указанная запись должна быть контейнером.

Задача MSBuild: PropertyListEditorTaskBase

MT7059: слияние: запись, *, содержит недопустимый индекс массива.

Задача MSBuild: PropertyListEditorTaskBase

MT7060: слияние: запись, *, не существует.

Задача MSBuild: PropertyListEditorTaskBase

MT7061: слияние: файл чтения ошибок: *.

Задача MSBuild: PropertyListEditorTaskBase

MT7062: set: Entry, *, неправильно указан.

Задача MSBuild: PropertyListEditorTaskBase

MT7063: set: Entry, *, содержит недопустимый индекс массива.

Задача MSBuild: PropertyListEditorTaskBase

MT7064: set: entry, *, не существует.

Задача MSBuild: PropertyListEditorTaskBase

MT7065: действие редактора Unknown PropertyList: *.

Задача MSBuild: PropertyListEditorTaskBase

MT7066: ошибка загрузки '*': *.

Задача MSBuild: PropertyListEditorTaskBase

MT7067: ошибка сохранения "*": *.

Задача MSBuild: PropertyListEditorTaskBase

MT8xx: сообщения об ошибках среды выполнения

MT8001: несоответствие версий между собственной средой выполнения Xamarin.iOS и monotouch.dll. Переустановите Xamarin.iOS.

MT8002: не удалось найти метод "*" в типе "*".

MT8003: не удалось найти закрытый универсальный метод "*" в типе "*".

MT8004: не удается создать экземпляр * для собственного объекта 0x* (типа "*"), так как другой экземпляр уже существует для этого собственного объекта (типа *).

MT8005: тип оболочки "*" отсутствует собственный класс ObjectiveC "*".

MT8006: не удалось найти селектор "*" в типе "*"

MT8007: не удается получить дескриптор метода для селектора "*" типа "*", так как селектор не соответствует методу.

MT8008: загруженная версия Xamarin.iOS.dll была скомпилирована для * битов, а процесс — *bits.

Это означает, что что-то не так в процессе сборки. Отправьте новую проблему на github.

MT8009: не удается найти блок для делегирования метода преобразования для метода .' параметр s #*.

Это означает, что API не был привязан правильно. Если это API, предоставляемый Xamarin, отправьте новую проблему на github. Если это сторонняя привязка, обратитесь к поставщику.

MT8010: несоответствие размера собственного типа между Xamarin. [iOS|Mac].dll и архитектуру выполнения. Xamarin. [iOS|Mac].dll был создан для *-bit, а текущий процесс — *-bit.

Это означает, что что-то не так в процессе сборки. Отправьте новую проблему на github.

MT8011: не удается найти делегат для блокировки атрибута преобразования ([ДелегатПрокси]) для возвращаемого значения метода ..

Xamarin.iOS не удалось найти обязательный метод во время выполнения (для преобразования делегата в блок).

Обычно это означает ошибку в Xamarin.iOS. Отправьте новую проблему на github.

MT8012: Invalid DelegateProxyAttribute для возвращаемого значения метода .: DelegateType имеет значение NULL.

Атрибут DelegateProxy для метода, который находится под вопросом, является недопустимым.

Обычно это означает ошибку в Xamarin.iOS. Отправьте новую проблему на github.

MT8013: Invalid DelegateProxyAttribute для возвращаемого значения метода .: DelegateType ({2}) указывает тип без поля Handler.

Недопустимый [DelegateProxy] атрибут для метода.

Обычно это означает ошибку в Xamarin.iOS. Отправьте новую проблему на github.

MT8014: Invalid DelegateProxyAttribute для возвращаемого значения метода .: поле "Обработчик" делегата{2} равно NULL.

Недопустимый [DelegateProxy] атрибут для метода.

Обычно это означает ошибку в Xamarin.iOS. Отправьте новую проблему на github.

MT8015: Invalid DelegateProxyAttribute для возвращаемого значения метода .: поле ДелегатТипа ({2}) "Handler" не является делегатом, это *.

Атрибут DelegateProxy для метода, который находится под вопросом, является недопустимым.

Обычно это означает ошибку в Xamarin.iOS. Отправьте новую проблему на github.

MT8016: не удается преобразовать делегат в блок для возвращаемого значения метода ., так как входные данные не является делегатом, это *.

Недопустимый [DelegateProxy] атрибут для метода.

Обычно это означает ошибку в Xamarin.iOS. Отправьте новую проблему на github.

MT8018: внутренняя ошибка согласованности.

Это означает ошибку в Xamarin.iOS. Отправьте новую проблему на github.

MT8019: не удалось найти сборку * в загруженных сборках.

Это означает ошибку в Xamarin.iOS. Отправьте новую проблему на github.

MT8020: не удалось найти модуль с метаданнымиToken * в сборке *.

Это означает ошибку в Xamarin.iOS. Отправьте новую проблему на github.

MT8021: неизвестный неявный тип токена: *.

Это означает ошибку в Xamarin.iOS. Отправьте новую проблему на github.

MT8022: ожидается, что ссылка на токен * будет *, но это *..

Это означает ошибку в Xamarin.iOS. Отправьте новую проблему на github.

MT8023: объект экземпляра требуется для создания закрытого универсального метода для открытого универсального метода: * (ссылка на токен: *)..

Это означает ошибку в Xamarin.iOS. Отправьте новую проблему на github.

MT8024: не удалось найти допустимый тип расширения для интеллектуального перечисления "{smart_type}".

Это означает ошибку в Xamarin.iOS. Отправьте новую проблему на github.