從 iOS 5 SDK 開始就內建 Twitter 的 Framework,下面程式碼將介紹如何簡單使用 Twitter API 來實做 Twitter 的推文,其方法與程式碼如下。
既然是使用 Twitter 的 Framework,那首先就要將它加入到我們的專案裡,並且在適當的地方引用其標頭檔,Framework 的加入方式大家可以參考Xcode 4 新增 Framework 的方法一文。
#import <Twitter/Twitter.h>
接著就是實做出推文的程式碼部份。
//建立viewcontroller
TWTweetComposeViewController *twitter = [[TWTweetComposeViewController alloc] init];
//設定推文的內容
[twitter setInitialText:@"iOS 5 Twitter API 測試。"];
//顯示viewcontroller
[self presentModalViewController:twitter animated:YES];
程式碼到此的執行結果就如同文章一開始的示範圖片,已經有了 Twitter 基本的推文功能,這裡值得注意的是,在程式碼中並沒有包含使用者的帳號密碼資訊,因為當你按下 Send 按鍵的同時,系統才會去後台設定尋找你的 Twitter 使用者資訊,若是你已經在裝置上設定好你的 Twitter 使用者資訊,那麼就會使用目前的使用這設定來進行推文。
除了一般的傳統文字外 Twitter API 也支援圖片或是網址超連結等,其方法如下。
//推文中加入圖片資訊
[twitter addImage:[UIImage imageNamed:@"3d logo.png"]];
//推文中加入網址超連結資訊
[twitter addURL:[NSURL URLWithString:[NSString stringWithString:@"http://furnacedigital.blogspot.com/"]]];
另外 Twitter API 也可以針對使用者在按下 Send 或是 Cancel 時分別處理其各自的動作,像是顯示推文成功或是推文失敗等等資訊。
//按下Send或是Cancel時的處理動作(block)
[twitter setCompletionHandler:^(TWTweetComposeViewControllerResult result) {
NSString *output;
switch (result) {
case TWTweetComposeViewControllerResultCancelled:
output = @"取消推文";
break;
case TWTweetComposeViewControllerResultDone:
output = @"完成推文";
break;
default:
break;
}
//使用者動作顯示於console
NSLog(@"%@", output);
//移除viewcontroller
[self dismissModalViewControllerAnimated:YES];
}];
有關更多的 Twitter API 使用方法,大家可以參考 iOS Developer Library 的說明。
請問可否也提供簡單使用微博 API 推文的教學(支援繁體)呢
回覆刪除好的,感謝您。目前我也在研究^^ 一起努力囉!
刪除您好:
刪除關於微博的 API 的部份,昨天還跟朋友有聊到,不過我可能還需要在研究一下。^^"
你可以先參考新浪微博的官方網站對於 API 的使用說明!
http://open.weibo.com/wiki/IOS_SDK
祝你學習順利囉~
刪除謝謝囉^_^
刪除你好:
回覆刪除关于设置Twitter账号后不能自动跳回APP有办法解决没呢
您好:
刪除連點兩下 HOME 按鈕,應該可以看到您背景執行的 APP ,沒辦法「自動」開啟唷,也許你可以考慮尋找使用 Twitter .Framework 設定帳號密碼的方法,這樣就可以避開叫出系統設定畫面了!!
谢谢
刪除請問如何得知已經下載Twitter,
回覆刪除因為還未下載Twitter不能使用。
您好:
刪除這是內建的功能喔,iOS 5.0 就有內建,更新完畢後就會自己出現了,
當然如果你要實作本篇文章的示範,也必須要有 iOS 5.0 的SDK 才行。
感謝牛奶
刪除那如果是iOS 5.0以下,
要如何克服這種限制呢?
您好:
刪除我想可能除了JB之外沒有其他辦法了唷,可是JB好像也不會有Twitter的樣子...
你好,使用twitter框架出发推页面时默认页面是竖屏的,我的APP默认是横屏的,在用户没有手动旋转设备方向时不能显示正常效果,改怎么调呢
回覆刪除简单点说我的APP初始方向是横屏的,但twitter是按竖屏显示的,怎么让twitter初始方向也是横屏的?
刪除您好:
刪除關於你的問題,應該跟 TWITTER API無關喔,如果你的APP當初在設計時就有支援橫向螢幕 Landspace ,當裝置或是模擬器在倒置時,就會以橫向的格式出現。
回到您的問題,你應該在設計應用程是時就「強制」只能使用 Landspace,關於設置方式你可以參考在 Xcode 中採用橫向介面設計的方法一文:
http://furnacedigital.blogspot.tw/2011/06/xcode.html
設置完成之後,你的裝置不管在任何擺放角度下,都會以 Landspace 顯示,希望有幫助到你。
補充一下:
我剛剛使用模擬器測試的結果,也都可以正常運行。
另外你也可以直接在 Info.plist 中的 Supported interface orientations 屬性來做修改,另外在程式碼的部份僅實作向右倒置:
return (interfaceOrientation == UIInterfaceOrientationLandscapeRight);
非常感谢你的帮助,问题解决了
刪除不客氣喔
刪除