MGTwitterEngineを使うのが代表的と言えるが、2013年3月以降にTwitter APIがバージョン1.1に完全に移行され、Twitterとの連携はJSONのみ対応となるため、XMLで連携を行っている場合はJSONで対応するように修正する必要がある。
■ 暫定的な対応
MGTwitterEngine.m を下記の通り修正する。
#define TWITTER_DOMAIN @"api.twitter.com/1"
上記の場合、Twitter API 1.0を使用してXML連携が可能。
但し、使用期限はTwitter API 1.0の運用が終了する2013年2月末までとなる。
■ 恒久的対応
JSON連携するためのライブラリのインポートその他が必要。
1. YAJLiOS.frameworkをインポートする。
(1) githubから、iOS向けのYAJLライブラリをダウンロードする。(2012年12月13日現在、「YAJLiOS-0.3.1.zip − YAJL 0.3.1 for iOS 」)
https://github.com/gabriel/yajl-objc/downloads
(2) (1)を展開したものを、ターゲットプロジェクトのFrameworksにコピーする。
(3) XcodeでBuild Settingsを開き、「Other Linker Flags」に「 -ObjC 」と「 -all_load 」を追加する。
2. MGTwitterEngineのJSON連携のライブラリをインポートする。
MGTwitterEngineをXMLでTwitterと連携させている場合、JSON関係のライブラリを削除して運用していることがあるので、改めてインポートする。
(1) githubからMGTwitterEngineをダウンロードする。
https://github.com/mattgemmell/MGTwitterEngine
(2) (1)の MGTwitterEngine-masterからMGTwitterEngine.xcodeprojをXcodeで開き、Twitter YAJL Parsersフォルダ以下のクラスファイルを全て、ターゲットプロジェクトにコピーする。
3. YAJLライブラリをインポートする。
(1) githubからYAJLライブラリをダウンロードする。
https://github.com/thinglabs/yajl-objc
(2) (1)のファイルから下記のヘッダファイルを探して、ターゲットプロジェクトにコピーする。
NSObject+YAJL.h
yajl_common.h
yajl_gen.h
yajl_parse.h
YAJL.h
YAJLDocument.h
YAJLGen.h
YAJLParser.h
4. MGTwitterEngineで、Twitter API 1.1を使用してJSON連携するように修正する。
(1) MGTwitterEngine.m
#define USE_LIBXML 0
#define TWITTER_DOMAIN @"api.twitter.com/1.1"
(2) MGTwitterEngineGlobalHeader.h
#define YAJL_AVAILABLE 1
参考記事;
https://github.com/mattgemmell/MGTwitterEngine/issues/107
http://tkyk.name/blog/2011/03/25/iOS-Objective-C-ios_json_yajl/
http://uneri-no-shinzui.blogspot.jp/2011/03/iphone-mgttwitterenginejson.html
http://damienh.org/2009/06/20/setting-up-mgtwitterengine-with-yajl-106-for-iphone-development/
【Twitterの最新記事】