元旦快乐~~ 今天是2018的第一天,约会的约会,晒恩爱的晒恩爱,不光如此,又到了为抢火车票高铁票犯愁的时间了哈哈。但是传统的360和猎豹的抢票神器都只没有Mac端,惆怅。
但是不用灰心,最大同性交友网站--GitHub上面一个开源了Mac端的项目12306ForMac。如果你对它的安全性不放心,那么我们可以下载下来看看,自己运行看看效果,自己看看代码有没后门之类的哈哈。
打开Github,搜索“12306 mac”关键字,搜到如下,第一个就是。然后,下载该项目到本地,但到成功运行的之前需要一些填坑,这篇文章记录这些坑。
当然没时间和兴趣的研究该抢票神器源码的童鞋,可以直接从Mac App Store上面下载安装该应用即可,不用往下看了。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)")
- 检测安装成功与否,查看版本
$ brew -v
- 如果没有安装成功,更新brew
$ brew update
安装Homebrew的细节可以查看笔者的另一篇https://www.jianshu.com/p/1de99aeedbf6
2. 安装Carthage
笔者以前安装过Carthage,但更新一次macOS系统之后Carthage找不到了,但Homebrew还在。于是只能重新装一次Carthage了。
- 安装carthage
brew install carthage
- 有警告: 已安装过,请重新连接
- 连接carthage
brew link carthage
- 有报错:找不到目录(Error: Permission denied @ dir_s_mkdir - /usr/local/Frameworks)
- 命令创建目录(当然你也可以手动到/usr/local目录下创建Frameworks)
mkdir /usr/local/Frameworks
- 再次连接成功
brew link carthage
- 连接成功,查看carthage版本
carthage version
3. 利用carthage为12306ForMac项目安装第三方库
- cd到项目目录下
$ cd /Users/ChenMan/iOSTest/005MacApp/12306ForMac-master
- 安装第三方库
$ carthage update --platform macOS
上面这个命令:carthage会为你下载和编译所需要的第三方库,当命令执行完毕,在你的项目文件夹中会创建一个名为Carthage的文件夹。在 ~/Carthage/Build/iOS里会出现xxx.framework文件已经为你创建好了。
- 安装成功
- 打开工作空间,即后缀名为.xcworkspace的文件
-
4. 编译及运行
编译报错
- 修复报错:添加异常处理逻辑
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 {
}
- 运行成功
5. 后面的话
- 误区演示: 该项目是mac应用,所以安装第三方的命令是 $ carthage update --platform macOS,而不是$ carthage update --platform iOS。不信你看:
MASPreference框架无法成功构建。
- 没时间的研究该抢票神器源码的童鞋,可以直接从Mac App Store上面下载安装该应用即可:https://itunes.apple.com/cn/app/ding-piao-zhu-shou/id1163682213?l=zh&ls=1&mt=12。