如何在xcode的Playground中导入RxSwift?

时间:2017-02-07 06:08:21

标签: xcode cocoapods rx-swift

我试图在xcode playground中导入rxswift:

gem install cocoapods-playgrounds

之后

pod playgrounds RxSwift

但它没有发生。怎么做?

7 个答案:

答案 0 :(得分:12)

  1. 您应该克隆计算机上的RxSwift repository
  2. 打开Rx.xcworkspace
  3. 构建RxSwift-macOS计划
  4. Rx.playground树状视图中打开Rx.xcworkspace并添加新页面
  5. import RxSwift在新页面中。
  6. 选择View > Debug Area > Show Debug Area
  7. steps 3 and 4

    step 5

答案 1 :(得分:2)

超级容易:

  1. 创建一个新项目,Xcode菜单> File> New> Project…(单个 查看应用程序)
    1. 关闭Xcode
    2. 在新项目中初始化pod(终端中的pod init)
    3. 编辑Podfile,添加RxSwift,RxCocoa
    4. 安装Pod(将Pod安装在终端中)
    5. 打开由CocoaPods创建的RxSwiftProject.xcworkspace
    6. 使用默认方案构建和运行项目
    7. 添加新的游乐场,Xcode菜单>文件>新建>游乐场...
    8. 选择添加到:RxSwiftProject,将其添加到RxSwift工作区
    9. 将其保存在工作区文件夹中

example code here

答案 2 :(得分:1)

您可以使用Arena创建具有第三方SPM库的游乐场:

Double

这对于RxSwift也应该适用。

答案 3 :(得分:1)

正如@sas所暗示的,您可以使用Arena

更具体地说:


只需一行即可安装Arena:

brew install finestructure/tap/arena

一行创建您启用了RxSwift的游乐场:

arena https://github.com/ReactiveX/RxSwift

结果:

➡️  Package: https://github.com/ReactiveX/RxSwift @ from(5.1.1)
? Resolving package dependencies ...
? Libraries found: RxSwift, RxCocoa, RxRelay, RxBlocking, RxTest
? Building package dependencies ...
✅ Created project in folder 'Arena-Playground'

完成!打开Arena-Playground并找到您的Playground(可能称为MyPlayground)并在其中进行编码。可能需要点击“产品”->“构建”才能首次使用。

答案 4 :(得分:0)

@Jason,您需要运行以下命令:

$ gem install cocoapods-playgrounds

$ pod playgrounds RxSwift,RxCocoa

它会起作用。第二个命令打开一个已添加pod的工作区。只记得先建立一个目标然后你就可以玩你的新游乐场了。

答案 5 :(得分:0)

不再适用于Xcode 9.1

$ pod playgrounds RxSwift,RxCocoa

给出

Errno::ENOENT - No such file or directory @ dir_initialize - /Applications/Xcode.app/Contents/Developer/Library/Xcode/Templates/File Templates/Source/Playground with Platform Choice.xctemplate

答案 6 :(得分:0)

那么容易!

  1. 在您的项目中创建游乐场(因为您需要添加RxSwift的依赖项)

  2. 在Xcode项目导航中,操场文件下面,您将找到一个名为source的文件夹

  3. 在以下文件夹中创建此swift文件: https://github.com/ReactiveX/RxSwift/blob/master/Rx.playground/Sources/SupportCode.swift

  4. 然后享受它!

    导入RxSwift

    playgroundShouldContinueIndefinitely()

    example(“ of”){

    let disposeBag = DisposeBag()
    
    Observable.of("", "", "", "")
        .subscribe(onNext: { element in
            print(element)
        })
    

    }