Нужно ли нам создавать универсальные фреймворки iOS для CocoaPods и Carthage?

#ios #cocoapods #carthage #xcframework #ios-universal-framework

#iOS #cocoapods #carthage #xcframework #ios-universal-framework

Вопрос:

  1. Правильно ли я понимаю, что нам нужно создавать вручную, Universal Frameworks/Libraries только если мы распространяем наши библиотеки, предоставляя двоичные файлы (скажем, напрямую загружая .framework )? Итак, если мы распространяем с использованием CocoaPods или Carthage, эти инструменты будут созданы Universal Frameworks/Libraries из нашего исходного кода сами по себе, верно?

  2. Как я понимаю, CocoaPods amp; Carthage позволяют скрывать исходный код, распространяя только двоичные файлы. Означает ли это, что в этом случае нам нужно создать Universal Frameworks/Libraries самостоятельно, прежде чем использовать эти сервисы?

  3. Какой лучший способ создания Universal Frameworks/Libraries в 2020 году XCFramework ?

Спасибо.

Комментарии:

1. Вы можете проверить это репозиторий на свой 3-й вопрос: github.com/gurhub/surmagic . Лучшие

Ответ №1:

  1. Если вы распространяете свой исходный код с помощью CocoaPods или Carthage, эти системы будут компилировать ваш исходный код либо в .framework , либо в статическую библиотеку на стороне потребителя, пока выполняется сборка проекта потребителя. Потребители будут иметь доступ к вашему исходному коду.

  2. ДА.

  3. Если ваш фреймворк предназначен для использования в приложениях Mac Catalyst, то XCFramework — единственный выбор. В противном случае вы все еще можете отправить fat framework — старый, но золотой.

Обновить:

С AppleSilicon XCFramework становится единственным форматом, в котором вы должны отправлять свой готовый фреймворк, потому что даже симулятор iOS теперь должен поддерживать как x86_64 , так и arm64 архитектуры.