我有一個通過carthage添加了一些框架的swift項目。是否有可能使用這些框架在操場內的項目,以及如何使用它,因爲如何在swift操場中使用與迦太基一起導入的框架
import Argo
不工作:(
我有一個通過carthage添加了一些框架的swift項目。是否有可能使用這些框架在操場內的項目,以及如何使用它,因爲如何在swift操場中使用與迦太基一起導入的框架
import Argo
不工作:(
爲了使框架遊樂場內工作,產生項目該框架必須被包含在工作區的項目,以便使這項工作,你需要遵循以下步驟:
File > Save As Workspace
爲項目創建工作區Carthage/Checkouts
文件夾拖到工作區中。我通過將構建的框架複製到構建產品目錄中來解決此問題,其中工作區中的Playgrounds也搜索框架。 注意:您還需要運行lipo並從FAT二進制文件中刪除未使用的體系結構。
甲遊樂場訪問外部框架,如果它是建立配置爲訪問這些框架的目標工作區的一部分。
如果你想添加一個遊樂場到現有的迦太基項目,你只需要將項目保存爲一個工作空間(文件>保存爲工作空間...),構建目標,然後就完成了。
如果你只是想用第三方框架發佈遊樂場,你需要創建一個虛擬工作區。下面是與RxSwift框架遊樂場一步步例如:
創建類型跨平臺>其它>空缺的一個新的Xcode項目。將其命名爲RxPlayground。
這將創建這個結構RxPlayground/RxPlayground.xcodeproj並打開一個空白的Xcode。
下載與迦太基
RxSwiftcarthage update --platform iOS
github "ReactiveX/RxSwift" "swift4.0"
給項目添加一個遊樂場。
創建工作區
複製框架的產品目錄。
cp -rv "${SRCROOT}/Carthage/Build/iOS/" "${BUILT_PRODUCTS_DIR}/${FRAMEWORKS_FOLDER_PATH}"
此時,Xcode和Finder中是這樣的:
請注意,迦太基/和Cartfile.resolved出現在你運行迦太基時,沒有它們,你的操場將只有幾個Ks。
最後,建立項目(⌘B)。現在,您可以在操場上用框架:
//: Playground - noun: a place where people can play
import RxSwift
_ = Observable<Void>.empty()
.subscribe(onCompleted: {
print("Completed")
})
有時候你打造的第一時間(⌘B)的Xcode沒有注意到的新框架(嘆氣)。我所做的是點擊目標並返回到源文件,或者重新打開項目。我沒有解釋爲什麼會發生這種情況。
在複雜性之前,請注意,這是從頭開始的一步一步,它可以讓你使用二進制框架,而不是添加構建框架的Xcode項目。 – Jano
呵呵?我需要支持在操場上的一些框架,但不是在項目:) –
這些是你需要採取的步驟,使其在操場上工作。你在項目中使用框架取決於你。 – Niels
我有同樣的問題。我做了。但不改變。我應該在哪裏創建操場文件? –