ПРОГРАММИРОВАНИЕ ПОД IPHONE, IPAD OBJECTIVE-C часть 3

24. Реализация новых возможностей в iOS5

Twitter

Как многие могли уже заметить ранее, обновление iOS принесло нам много новинок среди которых Newsstand, iCloud, Twitter и пр. Вместе с анонсом iOS 5, Apple выпустила Xcode 4.2 и iOS SDK 5.0. В нем ,конечно, произошли некоторые изменения, о которых можно прочитать здесь. Во время развития социальных сетей вопрос интеграции своего приложения с такой сетью становится очень остро. У нас есть возможность дать пользователям нашей программы «похвастаться» достижениями игры или разместить другую интересную и полезную информацию. Сегодня мы научимся интегрировать Twitter.

 

Создадим проект на основе Single View Application и назовем его NativeTwitter. Первым делом, что нам нужно сделать это добавить фреймворк Twitter.framework. Если кто-то закбыл как это делается — можно почитать здесь.

 

Перейдем в ViewController.h, импортируем только что добавленный фреймверк и добавим метод, который будет вызывать Twitter.

 

<code data-result="[object Object]">#import &lt;UIKit/UIKit.h&gt;
#import "Twitter/Twitter.h"

@interface ViewController : UIViewController

- (IBAction)tweet;

@end</code>

 

Теперь добавим реализацию метода tweet в ViewController.m:

 

<code data-result="[object Object]">- (IBAction)tweet {
    TWTweetComposeViewController *tweetSheet = [[TWTweetComposeViewController alloc] init];
    [tweetSheet setInitialText:@"Привет! Это урок для сайта iMaladec!"];
    [tweetSheet addURL:[NSURL URLWithString:@"http://imaladec.com"]];
    [tweetSheet addImage:[UIImage imageNamed:@"logo.png"]];
    [self presentModalViewController:tweetSheet animated:YES];
}</code>

 

Разберем код построчно:

 

  1. создаем объект класса TWTweetComposeViewController
  2. устанавливаем начальное сообщение
  3. добавляем ссылку на сайт
  4. добавляем картинку (ее следует добавить в проект заранее, скачать можно здесь)
  5. отображаем на экране созданный объект

 

Свяжем действие нажатия на кнопку с вызовом вышеописаного метода и установим кнопке надпись Twitter.

 

Прежде чем мы запустим наше приложение, нам нужно сделать пару настроек в нашем симуляторе. Найти симулятор можно с помощью spotlight. Запустите его и перейдите в Настройки -> Twitter. Перед вами должно быть нечто такое:

 

Как видим нам нужно ввести наше имя пользователя и пароль. Вводим их и запускаем проект. При нажатии на одну единственную кнопку перед нами откроется стандартное окно Tweet.

 

Если нажать на кнопку Send — сообщение запоститься у нас на стене:

 

 

Следует не забывать о том, что данный метод работает только в iOS 5. И если вы хотите иметь возможность добавить поддержку Twitterв более ранние версии — прийдется изменить метод tweet следующим образом:

 

<code data-result="[object Object]">- (IBAction)tweet {
    Class tweetComposer = NSClassFromString(@"TWTweetComposeViewController");
    if( tweetComposer != nil ) {
        if([TWTweetComposeViewController canSendTweet]) {
            TWTweetComposeViewController *tweetSheet = [[TWTweetComposeViewController alloc] init];
            [tweetSheet setInitialText:@"Привет! Это урок для сайта iMaladec!"];
            [tweetSheet addURL:[NSURL URLWithString:@"http://imaladec.com"]];
            [tweetSheet addImage:[UIImage imageNamed:@"logo.png"]];            
            [self presentModalViewController:tweetSheet animated:YES];
        } else {
            NSLog(@"The user has no account setup");
        }
    } else { 
        NSLog(@"TWTweetComposeViewController не поддерживается, следует реализовать свой способ");
    }    
}</code>

 

Исходный код этого проекта можно скачать здесь.

Comments are closed.