Самый быстрый способ добавить Карфаген в Xcode Project

Какой самый быстрый способ добавить зависимости в проекте XCode, используя Carthage.

Как добавить или отредактировать зависимости позже.

3 ответа

Установить Карфаген

Скачать Карфаген

Открытый терминал

Терминал: cd ~/Path/To/ Папка, содержащая проект

Создайте файл Carthage как:

Терминал: сенсорный Cartfile

Откройте файл Cartfile из папки проекта и добавьте необходимые зависимости

Пример файла Cartfile

github "Alamofire / Аламофир" == 4.5

github "Alamofire / AlamofireImage"

После редактирования файла Cartfile сохраните его.

Запустите следующую команду из терминала

Терминал: обновление карфагена - платформа iOS

xCode> Этапы сборки

  • Кнопка "Плюс" в верхнем левом углу> Фазы запуска нового скрипта
  • Запустите скрипт> окно скрипта оболочки> добавьте следующее:

/ usr / local / bin / carthage copy-frameworks

  • Запустите скрипт> окно входного файла> добавьте следующее:

$ (SRCROOT) /Carthage/Build/iOS/DependencyName.framework

  • Связать двоичные файлы с библиотеками> кнопка "Плюс"> "Добавить другое"> "Перейти к папке проекта"> "Карфаген"> "Создать"> "iOS"> "Framework для добавления"

Готово

  1. Установка Карфагена

    //Homebrew
    brew install carthage
    
  2. Создайте Cartfile файл в проекте (.xcodeproj)/Рабочее пространство(.xcworkspace) каталог

  3. Изменить Cartfile. Добавить необходимую зависимость == репо

    github "<owner>/<repo>" == <version>
    
  4. Бегать carthage update. Логика высокого уровня:

    `carthage update [dependency]` {
        - reads `Cartfile`, resolves dependency graph and generates `Cartfile.resolved` to store a list of versions that will be actually built
    
        //--no-use-binaries - this flag force a Carthage to not use a `Prebuilt framework`
        //--no-build - this flag skip a building step - `carthage build`
    
        `carthage bootstrap [dependency]` {
            - reads `Cartfile.resolved`
            `carthage checkout [dependency]` {
                `carthage fetch <path>` {
                    - fetch dependency from `Cartfile.resolved` into `~/Library/Caches/org.carthage.CarthageKit/` folder
                }
                - checkout/move a dependency from `~/Library/Caches/org.carthage.CarthageKit/` to generated `Carthage/Checkouts` folder
            }
            `carthage build [dependency]` {                
                - builds all `shared frameworks schemes` from `Carthage/Checkouts` into generated `Carthage/Build` folder
    
                //--no-skip-current - this flag also builds all `shared frameworks schemes` of a consumer workspace/project(in addition to `Carthage/Checkouts` folder)
            }
        }
    }   
    
  5. Перетащите построенные фреймворки в General -> Frameworks and Libraries

  6. Запускаем следующий скрипт. Этот шаг важен, потому что процесс сборки Carthagefat двоичный (arm64... + x86_64) с использованием lipo [О]. Apple отклоняет заявку, которая ее использует. Вот почему вы должны добавить этот дополнительный шаг, чтобы вырезать архитектуру для симулятора (x86_64)

    Build Phases -> + -> New Run Script phase -> 
    
        // /usr/local/bin/carthage - path to Carthage, copy-frameworks - command which sets a necessary architecture and copies framework to an application bundle
        Shell -> /usr/local/bin/carthage copy-frameworks
    
        //path to a generated Carthage/Build
        Input files -> + -> $(SRCROOT)/Carthage/Build/<platform>/<name>.framework
    

*Любой carthage команда должна вызываться из Cartfile папка

[Постройка Fast Carthage]

[Словарь]

[CocoaPods против Карфагена]

  • Установите Carthage на свой Mac: brew install carthage
  • Создать Cartfile в корневом каталоге проекта, например vim Cartfile и вставьте:
            github "AFNetworking/AFNetworking" ~> 4.0
    
  • Создайте фреймворки: запустите carthage update --platform iOS
    • Предупреждение: в зависимости от библиотеки, которую вы используете, вам нужно будет следовать их инструкциям относительно того, что carthage updateкоманда для конкретного запуска. Вам может потребоваться запустить, например, carthage update --use-xcframeworks --platform iOS --no-use-binariesвместо. Проверьте их ридми.
  • Добавьте его в Xcode: в Finder перейдите к $project_dir/Carthage/Build. Вы найдете FrameworkName.framework или FrameworkName.xcframework. Перетащите .framework/ .xcframework в ваш проект Xcode (в навигаторе проекта).
Другие вопросы по тегам