Детской площадка имеет доступ к внешней рамке, если она является частью рабочей области, которая строит цель, сконфигурированную для доступа к этим рамкам.
Если вы хотите добавить игровую площадку в существующий проект Carthage, вам нужно сохранить проект как рабочее пространство (Файл> Сохранить как рабочее пространство ...), построить цель, и все готово.
Если вы просто хотите распространять детскую площадку с сторонними фреймворками, вам необходимо создать манекенную рабочую область. Вот шаг за шагом, например, для детской площадки с RxSwift структурой:
Создать новый проект Xcode кроссплатформенного типа> Другое> Empty. Назовите его RxPlayground.
Это создаст эту структуру RxPlayground/RxPlayground.xcodeproj и откроет пустой Xcode.
Скачать RxSwift с Карфагеном
- Создать Cartfile с этой линии:
github "ReactiveX/RxSwift" "swift4.0"
- Run Карфаген с
carthage update --platform iOS
.
Добавить площадку к проекту.
- Нажмите File> New> Детские площадки ...
- Выберите КСН> Пустой шаблон и назовите его Rx.playground
- правой кнопкой мыши узел проекта и выберите «Добавить файлы в RxPlayground».
- Выберите Rx.игровая площадка и добавить его.
Создание рабочей области
- Выберите Файл> Сохранить как Workspace ...
- Сохранить как Rx.xcworkspace
Copy рамочные в каталог продукции.
- Закройте проект и откройте Rx.xcworkspace
- Создание кросс-платформенных> Другое> Aggregate. Назовите его RxAggregate
- Создать Фазу New Run Script со следующим содержимым:
cp -rv "${SRCROOT}/Carthage/Build/iOS/" "${BUILT_PRODUCTS_DIR}/${FRAMEWORKS_FOLDER_PATH}"
На данный момент, Xcode и Finder выглядеть следующим образом:
Обратите внимание, что Carthage/и Cartfile.resolved появляются, когда вы запускаете Карфаген, без них ваша игровая площадка будет всего лишь несколькими Ks.
Наконец, постройте проект (⌘B). Теперь вы можете использовать рамки в вашей детской площадке:
//: Playground - noun: a place where people can play
import RxSwift
_ = Observable<Void>.empty()
.subscribe(onCompleted: {
print("Completed")
})
Иногда первый раз вы строите (⌘B) Xcode не замечает новые рамки (Вздох). То, что я делаю, - это щелчок по цели и возврат к исходному файлу или повторное открытие проекта. У меня нет объяснений, почему это происходит.
huh? Мне нужна поддержка некоторых фреймворков на детской площадке, но не в проекте :) –
Это шаги, которые необходимо предпринять, чтобы заставить его работать на игровой площадке. Независимо от того, используете ли вы рамки в своем проекте, зависит от вас. – Niels
У меня такая же проблема. Я сделал это. Но не изменил. Где я должен создать игровой файл? –