開源項(xiàng)目: Mac端12306購(gòu)票神器 - 12306ForMac:項(xiàng)目運(yùn)行填坑紀(jì)實(shí)(mac系統(tǒng)升級(jí)后執(zhí)行brew link carthage命令出錯(cuò))

元旦快樂(lè)~~ 今天是2018的第一天,約會(huì)的約會(huì),曬恩愛的曬恩愛,不光如此,又到了為搶火車票高鐵票犯愁的時(shí)間了哈哈。但是傳統(tǒng)的360和獵豹的搶票神器都只沒(méi)有Mac端,惆悵。

但是不用灰心,最大同性交友網(wǎng)站--GitHub上面一個(gè)開源了Mac端的項(xiàng)目12306ForMac。如果你對(duì)它的安全性不放心,那么我們可以下載下來(lái)看看,自己運(yùn)行看看效果,自己看看代碼有沒(méi)后門之類的哈哈。

12306ForMac

打開Github,搜索“12306 mac”關(guān)鍵字,搜到如下,第一個(gè)就是。然后,下載該項(xiàng)目到本地,但到成功運(yùn)行的之前需要一些填坑,這篇文章記錄這些坑。

image.png

當(dāng)然沒(méi)時(shí)間和興趣的研究該搶票神器源碼的童鞋,可以直接從Mac App Store上面下載安裝該應(yīng)用即可,不用往下看了。Mac App Store 傳送門。

1. 安裝Homebrew

  • 打開終端,輸入以下命令
$ /usr/bin/ruby -e "$(curl -fsSL [https://raw.githubusercontent.com/Homebrew/install/master/install)"?](https://raw.githubusercontent.com/Homebrew/install/master/install)"?)
  • 檢測(cè)安裝成功與否,查看版本
$ brew -v?
  • 如果沒(méi)有安裝成功,更新brew
$ brew update?

安裝Homebrew的細(xì)節(jié)可以查看筆者的另一篇http://www.itdecent.cn/p/1de99aeedbf6

2. 安裝Carthage

筆者以前安裝過(guò)Carthage,但更新一次macOS系統(tǒng)之后Carthage找不到了,但Homebrew還在。于是只能重新裝一次Carthage了。

  • 安裝carthage
brew install carthage
  • 有警告: 已安裝過(guò),請(qǐng)重新連接
image.png
  • 連接carthage
brew link carthage
  • 有報(bào)錯(cuò):找不到目錄(Error: Permission denied @ dir_s_mkdir - /usr/local/Frameworks)
image.png
  • 命令創(chuàng)建目錄(當(dāng)然你也可以手動(dòng)到/usr/local目錄下創(chuàng)建Frameworks)
mkdir /usr/local/Frameworks
  • 再次連接成功
brew link carthage
image.png
  • 連接成功,查看carthage版本
carthage version
image.png

3. 利用carthage為12306ForMac項(xiàng)目安裝第三方庫(kù)

  • cd到項(xiàng)目目錄下
$ cd /Users/ChenMan/iOSTest/005MacApp/12306ForMac-master
  • 安裝第三方庫(kù)
$ carthage update --platform macOS

上面這個(gè)命令:carthage會(huì)為你下載和編譯所需要的第三方庫(kù),當(dāng)命令執(zhí)行完畢,在你的項(xiàng)目文件夾中會(huì)創(chuàng)建一個(gè)名為Carthage的文件夾。在 ~/Carthage/Build/iOS里會(huì)出現(xiàn)xxx.framework文件已經(jīng)為你創(chuàng)建好了。

  • 安裝成功
image.png
  • 打開工作空間,即后綴名為.xcworkspace的文件
image.png
  • 4. 編譯及運(yùn)行

  • 編譯報(bào)錯(cuò)

image.png
  • 修復(fù)報(bào)錯(cuò):添加異常處理邏輯
do {
    
    let json = try JSON(data: dataFromString)
    if json.array == nil {
        return
    }
    for item in json.array! {
        let ticketTask = TicketTask(json:item)
        ticketTasks.append(ticketTask)
    }
    
} catch  {
    
}
  • 運(yùn)行成功
image.png

5. 后面的話

  • 誤區(qū)演示: 該項(xiàng)目是mac應(yīng)用,所以安裝第三方的命令是 $ carthage update --platform macOS,而不是$ carthage update --platform iOS。不信你看:
image.png

MASPreference框架無(wú)法成功構(gòu)建。

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

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