Cocoapods не будет работать на новом Mac m1 Big Sur Xcode

Я избавляюсь от своего 8-летнего Mac и перехожу на новый m1 macbook air, но ни один из моих старых проектов не запущен. Я успешно установил cocoapods, но во многих моих крупных проектах возникают ошибки даже после обновления всех модулей и запуска всего через Rosetta. Вот некоторые из ошибок, с которыми я сталкиваюсь в Xcode:

Не удалось найти модуль «PodName» для цели «x86_64-apple-ios-simulator»; найдено: arm64, arm64-apple-ios-simulator

Нет такого модуля "PodName"

Это лишь некоторые из них, в которых встречается много ошибок. Я пробовал обновить эти модули, переустановить их и т. Д., Но ничего не работает. Кто-нибудь с m1 mac добился успеха в этом?


person Kazim Walji    schedule 21.12.2020    source источник
comment
Вы можете попробовать лучший ответ на этот вопрос. ссылка здесь   -  person Bomi Chen    schedule 11.05.2021


Ответы (2)


Вы можете настроить архитектуру своего проекта или добавить следующее в самый конец вашего Podfile (и снова запустить pod update):

post_install do |installer|
  installer.pods_project.build_configurations.each do |config|
    config.build_settings["EXCLUDED_ARCHS[sdk=iphonesimulator*]"] = "arm64"
  end
end
person lchamp    schedule 22.12.2020
comment
Это был последний шаг, который привел меня домой. Может быть, все остальное помогло, может быть, ничего из этого не помогло (я уверен, что все помогло), но без этого последнего шага для симулятора ничего бы не построили. Для устройства все будет хорошо. Спасибо за это. На самом деле это работает лучше, чем использование Swift Package Manager, что на самом деле довольно разочаровывает, но вот и мы. Еще раз спасибо @Ichamp. - person ChrisH; 16.02.2021
comment
Это работает, спасибо! - person Shengchalover; 29.03.2021

Вероятно, это связано с этим вопросом и ответом здесь: Xcode 12, сборка для симулятора iOS, но ссылка в объектном файле, созданном для iOS, для архитектуры arm64

В основном вам нужно убедиться, что:

  • Для создаваемых архитектур заданы стандартные архитектуры (ARCHS_STANDARD)
  • Что вы добавляете параметр «исключенной» архитектуры для Any iOS Simulator и устанавливаете его на arm64

Это должно помочь вам начать работу.

Одно замечание (это на какое-то время меня заинтересовало): убедитесь, что у вас нет настройки сборки допустимых архитектур (VALID_ARCHS). Если да, удалите строку полностью. Это вызывало у меня проблемы, поскольку фактически игнорировало новую парадигму, которую Apple хочет, чтобы мы использовали (Архитектуры + Исключенные архитектуры).

Наконец, если вы не видите VALID_ARCHS, но по-прежнему не можете его запустить, у меня сработало одно (так как я тоже возвращался к старому проекту):

  • Добавьте VALID_ARCHS и установите для него стандартные архитектуры
  • Создайте приложение (получите ожидаемые ошибки)
  • Удалить строку
  • Пересоберите приложение
person serenn    schedule 22.12.2020
comment
Это сработало, спасибо! - person Kazim Walji; 23.12.2020
comment
@KazimWalji, если это сработало, отметьте этот ответ как принятый. - person EmilioPelaez; 11.01.2021
comment
Спасибо тебе за это. Простое добавление arm64 в исключенную арку сработало для меня! - person Ibdakine; 23.03.2021