前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >开源项目: Mac端12306购票神器 - 12306ForMac:项目运行填坑纪实(mac系统升级后执行brew link carthage命令出错)

开源项目: Mac端12306购票神器 - 12306ForMac:项目运行填坑纪实(mac系统升级后执行brew link carthage命令出错)

作者头像
陈满iOS
发布2018-09-10 11:19:26
1.3K0
发布2018-09-10 11:19:26
举报
文章被收录于专栏:陈满iOS

元旦快乐~~ 今天是2018的第一天,约会的约会,晒恩爱的晒恩爱,不光如此,又到了为抢火车票高铁票犯愁的时间了哈哈。但是传统的360和猎豹的抢票神器都只没有Mac端,惆怅。

但是不用灰心,最大同性交友网站--GitHub上面一个开源了Mac端的项目12306ForMac。如果你对它的安全性不放心,那么我们可以下载下来看看,自己运行看看效果,自己看看代码有没后门之类的哈哈。

12306ForMac

打开Github,搜索“12306 mac”关键字,搜到如下,第一个就是。然后,下载该项目到本地,但到成功运行的之前需要一些填坑,这篇文章记录这些坑。

image.png

当然没时间和兴趣的研究该抢票神器源码的童鞋,可以直接从Mac App Store上面下载安装该应用即可,不用往下看了。Mac App Store 传送门

1. 安装Homebrew

  • 打开终端,输入以下命令
代码语言:javascript
复制
$ /usr/bin/ruby -e "$(curl -fsSL [https://raw.githubusercontent.com/Homebrew/install/master/install)"​](https://raw.githubusercontent.com/Homebrew/install/master/install)"​)
  • 检测安装成功与否,查看版本
代码语言:javascript
复制
$ brew -v​
  • 如果没有安装成功,更新brew
代码语言:javascript
复制
$ brew update​

安装Homebrew的细节可以查看笔者的另一篇https://cloud.tencent.com/developer/article/1332132

2. 安装Carthage

笔者以前安装过Carthage,但更新一次macOS系统之后Carthage找不到了,但Homebrew还在。于是只能重新装一次Carthage了。

  • 安装carthage
代码语言:javascript
复制
brew install carthage
  • 有警告: 已安装过,请重新连接

image.png

  • 连接carthage
代码语言:javascript
复制
brew link carthage
  • 有报错:找不到目录(Error: Permission denied @ dir_s_mkdir - /usr/local/Frameworks)

image.png

  • 命令创建目录(当然你也可以手动到/usr/local目录下创建Frameworks)
代码语言:javascript
复制
mkdir /usr/local/Frameworks
  • 再次连接成功
代码语言:javascript
复制
brew link carthage

image.png

  • 连接成功,查看carthage版本
代码语言:javascript
复制
carthage version

image.png

3. 利用carthage为12306ForMac项目安装第三方库

  • cd到项目目录下
代码语言:javascript
复制
$ cd /Users/ChenMan/iOSTest/005MacApp/12306ForMac-master
  • 安装第三方库
代码语言:javascript
复制
$ carthage update --platform macOS

上面这个命令:carthage会为你下载和编译所需要的第三方库,当命令执行完毕,在你的项目文件夹中会创建一个名为Carthage的文件夹。在 ~/Carthage/Build/iOS里会出现xxx.framework文件已经为你创建好了。

  • 安装成功

image.png

  • 打开工作空间,即后缀名为.xcworkspace的文件

image.png

    1. 编译及运行
  • 编译报错

image.png

  • 修复报错:添加异常处理逻辑
代码语言:javascript
复制
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  {
    
}
  • 运行成功

image.png

5. 后面的话

  • 误区演示: 该项目是mac应用,所以安装第三方的命令是 $ carthage update --platform macOS,而不是$ carthage update --platform iOS。不信你看:

image.png

MASPreference框架无法成功构建。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018.01.01 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 安装Homebrew
  • 2. 安装Carthage
  • 3. 利用carthage为12306ForMac项目安装第三方库
  • 5. 后面的话
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档