通過swift package, Carthage 打包發(fā)布 iOS framework項目到git

本人之前在使用Carthage打包的時候,希望能將打包的framework隨著項目一起發(fā)布到遠端git上,結(jié)果發(fā)現(xiàn)每次生成的framework,并不是根據(jù)pull下來的Sources文件去臨時build framework。 而是從本地push上去的framework,導(dǎo)致每次修改Sources文件,都必須在本地carthage update 后把framework發(fā)布到git上,這顯然不是我想要的效果。

因此,接下來介紹一種使用swift package 來構(gòu)建一個適用Carthage發(fā)包的一個項目。

首先:新建一個目錄

$ mkdir PhotoPick

$ cd PhotoPick/

在該目錄下執(zhí)行

$ swift package init

初始化生成一個符合package標(biāo)準(zhǔn)的項目(可忽略刪掉Tests文件夾)

$ swift package generate-xcodeproj

生成一個Xcode項目


打開這個工程之后,你會發(fā)現(xiàn)這個項目是一個MAC OS 項目,接下來我們需要把這個項目設(shè)置為iOS項目。


將Base SDK 的macOS 修改為 iOS , 將Supported PlatForms 修改為iOS

接著點擊TARGETS 上的 PhotoPick,重復(fù)一遍上面操作,將SDK改成iOS類型

然后把想要編譯的源文件放入Source目錄下。

確定需要編譯的文件


接著執(zhí)行命令 carthage build --no-skip-current?

若執(zhí)行失敗出現(xiàn)

Build Failed

Task failed with exit code 65:

/usr/bin/xcrun xcodebuild -project /Users/Auto/Desktop/PhotoPick/PhotoPick.xcodeproj -scheme PhotoPick -configuration Release -sdk watchos ONLY_ACTIVE_ARCH=NO BITCODE_GENERATION_MODE=bitcode CODE_SIGNING_REQUIRED=NO CODE_SIGN_IDENTITY= CARTHAGE=YES clean build

是由于 Supported PlatForms選項未修改成iOS 平臺SDK所造成的??梢試L試修改正確

若build成功,則可以看到,PhotoPick.framework成功生成

接著我們可以新建一個Demo來測試一下freamwork的功能。

File -> New -> Target -> Single View Application


在Embedded Binaries 上添加該framework

framework可以正常使用

終于大功告成了!

最后,可以將項目發(fā)布到github或git上面,注意給版本添加標(biāo)簽。

使用Carthage管理的項目,只需要在Carthage文件內(nèi)添加該git路徑以及標(biāo)簽號。

最后執(zhí)行carthage update 拉下Souces下源碼后,立刻自動build 相應(yīng)的framework。

盡情享受Carthage 管理第三方依賴包所帶來的便捷吧~

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容