Ошибка Xcode «сборка для симулятора iOS, но ссылка на dylib, созданная для iOS.. для архитектуры Arm64» от Apple SiliconIOS

Программируем под IOS
Ответить Пред. темаСлед. тема
Anonymous
 Ошибка Xcode «сборка для симулятора iOS, но ссылка на dylib, созданная для iOS.. для архитектуры Arm64» от Apple Silicon

Сообщение Anonymous »


У меня есть приложение, которое отлично компилируется и работает на старых компьютерах Mac с процессорами Intel на физических устройствах и в симуляторах iOS.

Это же приложение также отлично компилируется и работает на более новом Apple Silicon Mac с процессором M1 с физическими устройствами iPhone, но оно отказывается компилироваться для симулятора iOS.
р>
Без поддержки симулятора время отладки становится очень долгим, поэтому я пытаюсь решить эту проблему. Не говоря уже о том, что функция предварительного просмотра Xcode тоже не работает, что раздражает.

Первая ошибка, с которой я столкнулся без внесения каких-либо изменений (но перешёл с Intel Mac на M1 Mac), показана ниже.

сборка для iOS Simulator, но ссылка на dylib, созданный для iOS, файл '/Users/andy/workspace/app/Pods/GoogleWebRTC/Frameworks/frameworks/WebRTC.framework/WebRTC' для архитектуры Arm64

Я использую библиотеку Cocoapods — GoogleWebRTC, и, согласно ее документации, должна поддерживаться рука Arm64, поэтому я не понимаю, почему возникает вышеуказанная ошибка. Как я уже говорил ранее, он отлично компилируется на реальном устройстве, которое, как я полагаю, работает на Arm64.

Согласно документу..

Этот модуль содержит WebRTC iOS SDK в двоичной форме. Это динамика библиотека, содержащая фрагменты Armv7, Arm64 и x86_64. Биткод не поддерживается. В настоящее время предоставляемые нами API предназначены только для Objective C.

Я поискал в Интернете и обнаружил, что есть два решения этой проблемы.
[*]Первый вариант — добавить arm64 в Исключенные архитектуры [*]Второй вариант — отметить Build Active Architecture Only для Release сборки.
Я не совсем понимаю, необходимо ли вышеизложенное, даже когда я компилирую свое приложение на M1 Mac, работающем под архитектурой Arm64, поскольку решение, по-видимому, применимо только для Intel Mac, который не поддерживает симулятор Arm64, поскольку для Intel Mac симуляторы могли работать в x86_64, а не в Arm64, поэтому решение №1 в моем случае неприменимо.

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

Когда я вношу оба изменения и пытаюсь выполнить сборку, во время сборки я получаю следующую вторую ошибку. (не совсем уверен на 100 %, исправил ли я первую ошибку или я мог бы добавить вторую ошибку в дополнение к первой, адаптировав два изменения)

Не удалось найти модуль «Лотти» для целевого «x86_64-apple-ios-simulator»; найдено: Arm64, Arm64-Apple-IOS-Simulator

Вторая библиотека, которую я использую, — это lottie-ios, и я подключаю ее с помощью быстрого менеджера пакетов. Я предполагаю, что происходит следующее: поскольку я исключил arm64 в настройках сборки для симулятора iOS, Xcode пытается запустить мое приложение в x86_64. Однако по какой-то причине библиотека не поддерживается в x86_64 и выдает ошибку. У меня нет особого понимания того, что определяет, может ли библиотека работать в x86_64 или Arm64, поэтому я не мог копать, чтобы исследовать эту проблему.

Мой слабый вывод заключается в том, что GoogleWebRTC по какой-то причине невозможно скомпилировать для запуска в симуляторе iOS с arm64 (в отличие от того, что написано в его документации), и lottie- ios невозможно скомпилировать для запуска в симуляторе iOS с x86_64. Поэтому в данном случае я не могу использовать их оба.

Вопрос 1. Я хочу знать, какие изменения я могу внести, чтобы решить эту проблему...

Приложение прекрасно компилируется и работает как на устройстве, так и в симуляторе при компиляции с Intel Mac. Приложение компилируется и отлично работает на устройстве при компиляции из Apple Silicon Mac. Просто приложение отказывается компилироваться и запускаться в симуляторе iOS от Apple Silicon Mac, и я не могу понять, почему.

Вопрос 2. Если решения нет, я хочу понять, почему это вообще происходит.

Я действительно не хочу снова покупать старый Intel Mac только для того, чтобы все работало в симуляторе.
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

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

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • XCode 16.1 Сборка для «симулятора iOS», но ссылка на dylib, созданная для «macOS»
    Anonymous » » в форуме IOS
    0 Ответы
    24 Просмотры
    Последнее сообщение Anonymous
  • XCode 16.1 Сборка для «симулятора iOS», но ссылка на dylib, созданная для «macOS»
    Anonymous » » в форуме IOS
    0 Ответы
    17 Просмотры
    Последнее сообщение Anonymous
  • XCode 16.1 Сборка для «симулятора iOS», но ссылка на dylib, созданная для «macOS»
    Anonymous » » в форуме IOS
    0 Ответы
    25 Просмотры
    Последнее сообщение Anonymous
  • XCode 16.1 Сборка для «симулятора iOS», но ссылка на dylib, созданная для «macOS»
    Anonymous » » в форуме IOS
    0 Ответы
    17 Просмотры
    Последнее сообщение Anonymous
  • XCode 16.1 Сборка для «симулятора iOS», но ссылка на dylib, созданная для «macOS»
    Anonymous » » в форуме IOS
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous

Вернуться в «IOS»