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

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

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

12306ForMac

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

image.png

当然没时间和兴趣的研究该抢票神器源码的童鞋,可以直接从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
  • 有警告: 已安装过,请重新连接

image.png

  • 连接carthage
brew link carthage
  • 有报错:找不到目录(Error: Permission denied @ dir_s_mkdir - /usr/local/Frameworks)

image.png

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

image.png

  • 连接成功,查看carthage版本
carthage version

image.png

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

  • cd到项目目录下
$ cd /Users/ChenMan/iOSTest/005MacApp/12306ForMac-master
  • 安装第三方库
$ carthage update --platform macOS

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

  • 安装成功

image.png

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

image.png

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

image.png

  • 修复报错:添加异常处理逻辑
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框架无法成功构建。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏IT大咖说

送给前端的你:可视化快速生成模拟数据服务——Easy Mock

? 内容来源:2017年11月18日,大搜车前端工程师高攀在“2017中国开源年会”进行《Easy Mock 接口数据模拟服务》演讲分享。IT 大咖说(微信i...

54660
来自专栏蓝天

Ubuntu系统微调

本章讲述了基本的基于命令行界面的系统配置方法。在学习本章前,你需要先阅读 Ubuntu 系统安装提示, 第 3 章.

14430
来自专栏架构师小秘圈

微服务架构实施原理

35130
来自专栏安恒信息

安恒紧急漏洞预警: Samba全系版本存在远程命令执行漏洞

近日Samba被发现存在远程命令执行漏洞,漏洞编号:CVE-2015-0240,可以允许一个恶意的Samba客户端发送一个特定的netlogon数据包给smbd...

37080
来自专栏腾讯大讲堂的专栏

全民K歌后台编译优化:从40分钟到30秒

编者注 全民K歌上线1年半的从0发展到1.5亿,用户越来越多,后台代码库越来越大,编译速度也与日俱慢,编译一下整个工程需要30-40分钟,如何实现秒编至关重要。...

43450
来自专栏不会写文章的程序员不是好厨师

日志那些事儿——由一次bug引发的思考-client jar应该如何输出日志

前面几篇“日志那些事儿”讲解了日志的重要性和相关使用。以slf4j+logback的使用为例,我们的步骤为:

13240
来自专栏lgp20151222

傻瓜式的go modules的讲解和代码

国内关于gomod的文章,哪怕是使用了百度 -csdn,依然全是理论,虽然golang的使用者大多是大神但是也有像我这样的的弱鸡是不是?

58820
来自专栏Linyb极客之路

微服务架构:基于微服务和Docker容器技术的PaaS云平台架构设计(微服务架构实施原理)

基于微服务架构和Docker容器技术的PaaS云平台建设目标是给我们的开发人员提供一套服务快速开发、部署、运维管理、持续开发持续集成的流程。平台提供基础设...

71410
来自专栏Android 研究

反插件化:你的应用不是一个插件(转)

Android插件化技术是应用程序级别的一项创新型技术,它的初衷主要是用于热更新,减少APK安装包的大小,以及解决65535方法数量的限制。从技术层面来说,An...

52420
来自专栏逸鹏说道

Web Api 入门实战 (快速入门+工具使用+不依赖IIS)

平台之大势何人能挡? 带着你的Net飞奔吧!:http://www.cnblogs.com/dunitian/p/4822808.html 屁话我也就不多说了,...

37350

扫码关注云+社区

领取腾讯云代金券