avgx / musasocen

0 stars 0 forks source link

Управление зависимостями #2

Open avgx opened 11 months ago

avgx commented 11 months ago

Cocoa pods Carthage SPM

+/- примеры по каждому gitignore

MusaShojen commented 10 months ago

CocoaPods :

Carthage

SPM

+- В интернете много где написано, что фреймворков, которые можно добавить в проект с помощью SPM, не много. Но сам я не пользовался таким большим количеством фреймворков, чтобы понять насколько это большой минус. К тому же , постепенно эта проблема будет уходить, так как фреймворков будет все больше.

MusaShojen commented 10 months ago

Немного не понял какие примеры нужно привести.

И по поводу gitignore тоже . Нужно показать как это работает или?

avgx commented 10 months ago

Сделать себе по репозиторию с каждым вариантом. Закоммитить туда по проекту с зависимостями. Собирающемуся. Выкачать в пустую папку и убедиться что там нет мусора и бинарей Обновить xcode попробовать собрать ещё раз.

MusaShojen commented 10 months ago

https://github.com/MusaShojen/UIKitLifeCycle

сделал репозиторий, скачал snapkit через SPM и добавил соответствующие строки в GitIgnore , все собирается, однако я не понял действительно ли я игнорирую SPM , так как сразу после запуска колонизованного проекта у меня. автоматически погрузился snapkit .

MusaShojen commented 10 months ago

https://github.com/MusaShojen/SwiftUILifeCycle

Тут использую alamofire через carthage , но при клонировании проекта появляются в проекте Products и Frameworks , и видимо это служит причиной следующей ошибки при попытке скачать alamofire через carthage :

Task failed with exit code 70:
/usr/bin/xcrun xcodebuild -workspace /Users/musasogenov/Documents/SwiftUILifeCycle112/Carthage/Checkouts/Alamofire/Alamofire.xcworkspace -scheme Alamofire\ tvOS -configuration Release -derivedDataPath /Users/musasogenov/Library/Caches/org.carthage.CarthageKit/DerivedData/15.0_15A240d/Alamofire/5.8.0 -sdk appletvos ONLY_ACTIVE_ARCH=NO CODE_SIGNING_REQUIRED=NO CODE_SIGN_IDENTITY= CARTHAGE=YES archive VALIDATE_WORKSPACE=NO -archivePath /var/folders/tm/0thvxss55l3dk1lgb8p7d8k00000gn/T/Alamofire SKIP_INSTALL=YES GCC_INSTRUMENT_PROGRAM_FLOW_ARCS=NO CLANG_ENABLE_CODE_COVERAGE=NO STRIP_INSTALLED_PRODUCT=NO (launched in /Users/musasogenov/Documents/SwiftUILifeCycle112/Carthage/Checkouts/Alamofire)

This usually indicates that project itself failed to compile. Please check the xcodebuild log for more details: /var/folders/tm/0thvxss55l3dk1lgb8p7d8k00000gn/T/carthage-xcodebuild.JGpzqj.log

изменено: сделал новый репозиторий пока пытался разобраться с ошибкой, в итоге все работает , но теперь по этой ссылке : https://github.com/MusaShojen/SwiftUILifeCycle/tree/main

avgx commented 10 months ago

https://github.com/MusaShojen/UIKitLifeCycle

сделал репозиторий, скачал snapkit через SPM и добавил соответствующие строки в GitIgnore , все собирается, однако я не понял действительно ли я игнорирую SPM , так как сразу после запуска колонизованного проекта у меня. автоматически погрузился snapkit .

Чтобы проверить нужно выкачать не через xcode, а например из консоли. И после этого запускать xcode и собрать. Если всё хорошо, то всё подтянется и соберётся. При этом в коде, что лежит в репозитории, зависимости не лежат.

avgx commented 10 months ago

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

нужно знать / понимать как и что можно использовать, а вот мучаться от продолжения использования не того, что хочется, на данном этапе не нужно.

MusaShojen commented 10 months ago

https://github.com/MusaShojen/SwiftUIUIKitLifeCycle Здесь использую CocoaPods. Проект собирается, все в порядке.

MusaShojen commented 10 months ago

Из 3 способов, самый удобный конечно же SPM. Он легче всего настраивается) Но в целом если честно carthage и cocoapods не так чтобы очень неудобные. При работе с ними просто нужно следить за версиями (самого carthage, Ruby и тд) Все проблемы с которыми я столкнулся пока работал с carthage и cocoapods были из-за каких-либо несовместимостей (из-за того , что раньше я что-то добавил и это потом устарело) В целом все эти проблемы решаемы, но удобнее всех конечно SPM) Если бы давали выбирать выбрал бы его 100%)