Ответ 1
Это перестало работать в какой-то момент. Вздох
Что я делаю сейчас
- Создайте macOS> Инструмент командной строки.
- Создайте Cartfile с помощью
github "ReactiveX/RxSwift"
и запуститеcarthage update --platform iOS
- Перейдите к целевому инструменту командной строки и добавьте платформы из Carthage/Build/iOS в связанные структуры и библиотеки
- Добавьте файлы детской площадки.
На данный момент я могу запускать файлы с игровой площадки.
🤷🏻♂️
Детская площадка имеет доступ к внешним фреймворкам, если она является частью рабочей области, в которой создается цель, настроенная для доступа к этим фреймворкам.
Если вы хотите добавить игровую площадку в существующий проект Carthage, вам нужно только сохранить проект как рабочее пространство (Файл> Сохранить как рабочее пространство...), построить цель, и все готово.
Если вы просто хотите распространять игровую площадку с помощью сторонних фреймворков, вам нужно создать пустое рабочее пространство. Вот пошаговый пример игровой площадки с платформой RxSwift:
-
Создайте новый проект XCode типа Кросс-платформенный> Другой> Пустой. Назовите это RxPlayground.
Это создаст эту структуру RxPlayground/RxPlayground.xcodeproj и откроет пустой Xcode. -
Скачать RxSwift с Карфагеном
- Создайте файл Cartf с этой строкой:
github "ReactiveX/RxSwift" "swift4.0"
- Запустите Карфаген с
carthage update --platform iOS
Карфагенаcarthage update --platform iOS
.
- Создайте файл Cartf с этой строкой:
-
Добавьте игровую площадку в проект.
- Нажмите Файл> Создать> Детская площадка...
- Выберите iOS> Пустой шаблон и назовите его Rx.playground
- Щелкните правой кнопкой мыши узел проекта и выберите "Добавить файлы в RxPlayground".
- Выберите Rx.playground и добавьте его.
-
Создать рабочее пространство
- Нажмите Файл> Сохранить как рабочее пространство...
- Сохранить как Rx.xcworkspace
-
Скопируйте фреймворки в каталог продуктов.
- Закройте проект и откройте Rx.xcworkspace
- Создайте кроссплатформенный> Другой> Агрегат. Назовите это RxAggregate
- Создайте новую фазу сценария запуска со следующим содержимым:
cp -rv "${SRCROOT}/Carthage/Build/iOS/" "${BUILT_PRODUCTS_DIR}/${FRAMEWORKS_FOLDER_PATH}"
На этом этапе Xcode и Finder выглядят так:
Обратите внимание, что Carthage/и Cartfile.resolved появляются, когда вы запускаете Carthage, без них ваша игровая площадка будет всего в нескольких Ks.
Наконец, построить проект (⌘B). Теперь вы можете использовать рамки на вашей детской площадке:
//: Playground - noun: a place where people can play
import RxSwift
_ = Observable<Void>.empty()
.subscribe(onCompleted: {
print("Completed")
})
Иногда в первый раз, когда вы строите (⌘B), Xcode не замечает новую платформу (вздох). Я нажимаю на цель и возвращаюсь к исходному файлу или заново открываю проект. У меня нет объяснения, почему это происходит.