2015-04-26 62 views

回答

6

爲了使框架遊樂場內工作,產生項目該框架必須被包含在工作區的項目,以便使這項工作,你需要遵循以下步驟:

  1. 如果你的項目是不是一個工作空間內,通過在Xcode中選擇File > Save As Workspace爲項目創建工作區
  2. 將.xcodeproj文件從Carthage/Checkouts文件夾拖到工作區中。
  3. 在您的框架目標上運行構建操作。
+0

呵呵?我需要支持在操場上的一些框架,但不是在項目:) –

+0

這些是你需要採取的步驟,使其在操場上工作。你在項目中使用框架取決於你。 – Niels

+0

我有同樣的問題。我做了。但不改變。我應該在哪裏創建操場文件? –

1

我通過將構建的框架複製到構建產品目錄中來解決此問題,其中工作區中的Playgrounds也搜索框架。 注意:您還需要運行lipo並從FAT二進制文件中刪除未使用的體系結構。

更這裏參見: https://github.com/richardnees/CarthagePlaygrounds

1

甲遊樂場訪問外部框架,如果它是建立配置爲訪問這些框架的目標工作區的一部分。

如果你想添加一個遊樂場到現有的迦太基項目,你只需要將項目保存爲一個工作空間(文件>保存爲工作空間...),構建目標,然後就完成了。

如果你只是想用第三方框架發佈遊樂場,你需要創建一個虛擬工作區。下面是與RxSwift框架遊樂場一步步例如:

  1. 創建類型跨平臺>其它>空缺的一個新的Xcode項目。將其命名爲RxPlayground。
    這將創建這個結構RxPlayground/RxPlayground.xcodeproj並打開一個空白的Xcode。

  2. 下載與迦太基

    RxSwift
    • 這一行創建Cartfile:與carthage update --platform iOSgithub "ReactiveX/RxSwift" "swift4.0"
    • 運行迦太基。
  3. 給項目添加一個遊樂場

    • 單擊文件>新建>遊樂場...
    • 選擇了iOS>空白模板,並將其命名Rx.playground
    • 右鍵單擊項目節點,然後選擇「添加文件到RxPlayground」。
    • 選擇Rx。操場並添加它。
  4. 創建工作區

    • 單擊文件>另存爲工作區...
    • 另存爲Rx.xcworkspace
  5. 複製框架的產品目錄。

    • 關閉項目,打開Rx.xcworkspace
    • 創建一個跨平臺>其它>彙總。將它命名爲RxAggregate
    • 具有以下內容創建一個新的運行腳本階段:
 
    cp -rv "${SRCROOT}/Carthage/Build/iOS/" "${BUILT_PRODUCTS_DIR}/${FRAMEWORKS_FOLDER_PATH}" 

此時,Xcode和Finder中是這樣的:

xcode

請注意,迦太基/和Cartfile.resolved出現在你運行迦太基時,沒有它們,你的操場將只有幾個Ks。

Finder

最後,建立項目(⌘B)。現在,您可以在操場上用框架:

//: Playground - noun: a place where people can play 
import RxSwift 

_ = Observable<Void>.empty() 
    .subscribe(onCompleted: { 
     print("Completed") 
    }) 

有時候你打造的第一時間(⌘B)的Xcode沒有注意到的新框架(嘆氣)。我所做的是點擊目標並返回到源文件,或者重新打開項目。我沒有解釋爲什麼會發生這種情況。

+0

在複雜性之前,請注意,這是從頭開始的一步一步,它可以讓你使用二進制框架,而不是添加構建框架的Xcode項目。 – Jano