MGTwitterEngine中Twitter API 1.1的使用

简介:

在iOS5中使用Twitter framework或者在iOS6中使用Social framework来完成Twitter的集成是非常简单和轻松的,但是如果应用要针对iOS5之前的系统版本,那么就不能使用iOS提供的框架了。一个比较常见也是使用最广泛的选择是MGTwitterEngine,比如PomodoroDo选择使用的就是该框架。

但是今天在对PomodoroDo作更新的时候,发现Twitter的分享无法使用了,在查阅Twitter文档说明之后,发现这是Twitter采用了新版API的原因。默认状况下MGTwitterEngine采用的是v1版的API,并且使用XML的版本进行请求,而在1.1中,将只有JSON方式的API可以使用。v1.0版本的API已经于2013年3月5日被完全废弃,因此想要继续使用MGTwitterEngine来适配iOS5之前的Twitter集成需求,就需要将MGTwitterEngine的请求改为JSON方式。MGTwitterEngine也考虑到了这一点,但是因为时间比较古老了,MGTwitterEngine使用了YAJL来作为JSON的Wrapper,因此还需要将YAJL集成进来。下午的时候尝试了一会儿,成功地让MGTwitterEngine用上了1.1的Twitter API,为了以防之后别人或是自己可能遇到同样的问题,将更新的方法在此留底备忘。

  1. 导入YAJL Framework

    • YAJL的OC实现,从该地址下载该框架。(2013年3月24日的最新版本为YAJL 0.3.1 for iOS)
    • 解压下载得到的zip,将解压后的YAJLiOS.framework加入项目工程
    • 在Xcode的Build Setting里在Other Linker Flags中添加-ObjC和-all_load标记
  2. 加入MGTwitterEngine的JSON相关代码

    • MGTwitterEngine的页面down下该项目。当然如果有新版或者有别的branch可以用的话更省事儿,但是鉴于MGTwitterEngine现在的活跃度来说估计可能性不大,所以还是乖乖自己更新吧。
    • 解开下载的zip,用Xcode打开MGTwitterEngine.xcodeproj工程文件,将其中Twitter YAJL Parsers组下的所有文件copy到自己的项目中。
  3. YAJL头文件集成

    • 接下来是C和OC接口头文件的导入,从下面下载YAJL库:https://github.com/thinglabs/yajl-objc
    • 在下载得到的文件夹中,寻找并将以下h文件拷贝到自己的工程中:
      • yajl_common.h
      • yajl_gen.h
      • yajl_parse.h
      • NSObject+YAJL.h
      • YAJL.h
      • YAJLDocument.h
      • YAJLGen.h
      • YAJLParser.h
  4. 最后是在MGTwitterEngine设定为使用v1.1 API以及JSON方式请求

在MGTwitterEngine.m中,将对应代码修改为以下:

#define USE_LIBXML 0
#define TWITTER_DOMAIN @"api.twitter.com/1.1"

在MGbTwitader.h,启用YAJL

#define define YAJL_AVAILABLE 1

本文参考:

MGTwitterEngine issues 107

http://damienh.org/2009/06/20/setting-up-mgtwitterengine-with-yajl-106-for-iphone-development/


转载自:https://onevcat.com/

相关文章
|
NoSQL API 数据格式
Twitter广告平台的私有API
Promoted Tweets是Twitter的一个广告平台。本文作者是发现在Twitter官方的应用中并没有显示一些广告,而决定分析Twitter是不是做了什么手脚。
995 0
|
10天前
|
缓存 前端开发 API
API接口封装系列
API(Application Programming Interface)接口封装是将系统内部的功能封装成可复用的程序接口并向外部提供,以便其他系统调用和使用这些功能,通过这种方式实现系统之间的通信和协作。下面将介绍API接口封装的一些关键步骤和注意事项。
|
17天前
|
监控 前端开发 JavaScript
实战篇:商品API接口在跨平台销售中的有效运用与案例解析
随着电子商务的蓬勃发展,企业为了扩大市场覆盖面,经常需要在多个在线平台上展示和销售产品。然而,手工管理多个平台的库存、价格、商品描述等信息既耗时又容易出错。商品API接口在这一背景下显得尤为重要,它能够帮助企业在不同的销售平台之间实现商品信息的高效同步和管理。本文将通过具体的淘宝API接口使用案例,展示如何在跨平台销售中有效利用商品API接口,以及如何通过代码实现数据的统一管理。
|
29天前
|
安全 算法 API
产品经理必备知识——API接口
前言 在古代,我们的传输信息的方式有很多,比如写信、飞鸽传书,以及在战争中使用的烽烟,才有了著名的烽火戏诸侯,但这些方式传输信息的效率终究还是无法满足高速发展的社会需要。如今万物互联的时代,我通过一部手机就可以实现衣食住行的方方面面,比如:在家购物、远程控制家电、自动驾驶等等,背后都离不开我们今天要聊的API接口。
|
29天前
|
数据采集 JSON API
如何实现高效率超简洁的实时数据采集?——Python实战电商数据采集API接口
你是否曾为获取重要数据而感到困扰?是否因为数据封锁而无法获取所需信息?是否因为数据格式混乱而头疼?现在,所有这些问题都可以迎刃而解。让我为大家介绍一款强大的数据采集API接口。
|
1月前
|
安全 API 数据安全/隐私保护
API接口知识小结
应用程序接口API(Application Programming Interface),是提供特定业务输出能力、连接不同系统的一种约定。这里包括外部系统与提供服务的系统(中后台系统)或后台不同系统之间的交互点。包括外部接口、内部接口,内部接口又包括:上层服务与下层服务接口、同级接口。

热门文章

最新文章