Odată cu lansarea iOS 5, un cadru mic, dar puternic, este disponibil pentru dezvoltatori pentru a integra rapid Twitter într-o aplicație. Acest tutorial vă va învăța cum să faceți viața mult mai ușoară prin utilizarea cadrului Twitter!
În această serie de tutoriale din două părți, voi vorbi despre cadrul Twitter care a fost introdus cu iOS 5. Prima parte acoperă TWTweetComposeViewController
, care face compunerea și trimiterea de tweets la fel de simplu ca și prezentarea unui controler modal vizual. Cea de a doua parte este mai avansată în timp ce analizăm mai îndeaproape TWRequest, o clasă concepută pentru a interacționa cu API-ul Twitter într-o manieră fiabilă și simplă. Una dintre caracteristicile pe care majoritatea dintre voi le veți bucura este manipularea autentificării încorporate. Îndepărtează complet durerile de cap asociate autentificării. Dacă OAuth ți-a dat coșmaruri și dureri de cap, atunci îți va plăcea contextul Twitter!
În acest tutorial, vă voi arăta cum puteți integra cadrul Twitter într-o aplicație existentă și cum să o utilizați TWTweetComposeViewController
pentru a compune și a trimite tweets din aplicațiile dvs. Vom construi o aplicație de la zero și vom adăuga capacitatea de a trimite tweets din cadrul aplicației cu un efort surprinzător de mic.
Deoarece iOS 5, Twitter este puternic integrat cu sistemul de operare și acesta este unul dintre motivele pentru care interacțiunea cu Twitter a devenit foarte ușoară. Sistemul de operare stochează acum contul dvs. Twitter, ceea ce înseamnă că utilizatorul nu are nevoie să-și reintroducă acreditările Twitter pentru fiecare aplicație care dorește să vorbească cu Twitter. În calitate de dezvoltator, trebuie doar să solicitați acces la contul de utilizator al utilizatorului, ceea ce duce la o experiență mult mai bună a utilizatorului. Un alt avantaj pentru dezvoltator este că autentificarea este gestionată de sistemul de operare.
Acest lucru înseamnă, de asemenea, că pe dispozitivul dvs. (sau simulatorul iOS) trebuie să existe un cont Twitter, dacă doriți să finalizați acest tutorial. Puteți verifica acest lucru deschizând Setări aplicație pe dispozitiv (sau simulator iOS) și selectând Stare de nervozitate din listă. Acesta vă va arăta ce conturi sunt asociate cu dispozitivul dvs. Pentru a adăuga un cont, apăsați Adaugă cont și introduceți acreditările Twitter. Cu asta, să începem să ne construim aplicația.
Creați un nou proiect în Xcode selectând Vizualizare individuală șablon din lista de șabloane. Denumiți aplicația Stare de nervozitate, introduceți un identificator al companiei, setați iPhone pentru familia de dispozitive și verificați Utilizați numărarea automată a referințelor. Asigurați-vă că debifați casetele de validare rămase pentru acest proiect. Spuneți Xcode unde doriți să salvați proiectul și să îl loviți Crea.
Aplicația noastră va fi foarte simplă din punctul de vedere al interfeței cu utilizatorul, trebuie doar să creăm o acțiune în fișierul de antet al controlorului nostru de vizualizare. Să facem asta acum.
Treceți la ViewController.h și să creeze un IBAction
numit tweet:. Acțiunea va fi declanșată de un buton pe care îl vom adăuga în fișierul xib al controlerului nostru de vizualizare. Nu uitați să adăugați o implementare goală a acțiunii noastre ViewController.m pentru a preveni avertismentele compilatorului.
#import@ interfață ViewController: UIViewController - (IBAction) tweet: (id) expeditor; @Sfârșit
- (IBAction) tweet: (id) expeditor
Configurarea interfeței cu utilizatorul în fișierul xib al controlerului nostru vizual va dura doar câteva secunde. Trageți a UIButton
exemplu la punctul de vedere al controlorului de vedere și să-i dea un titlu Tweet. Tot ce este lăsat pentru noi să facem mai departe este sârmă de acțiune și buton. Controlul trageți de la buton la Proprietarul dosarului și selectați acțiunea noastră din meniul care apare. Aceasta va lega acțiunea noastră de butoanele UIControlEventTouchUpInside
, ceea ce dorim. Asta e tot ce trebuie să facem în fișierul nostru xib pentru acest tutorial.
Înainte de a putea începe să folosim cadrul Twitter, trebuie să îl adăugăm la proiectul nostru. Selectați proiectul nostru în Project Navigator și selectați țintă din lista de destinații. Deschide Construiți faze în partea de sus, deschideți Link binar cu biblioteci sertar, faceți clic pe butonul plus și alegeți Twitter.framework din listă. În partea de sus a fișierului de antet al controlorului nostru de vedere, trebuie să adăugăm și o instrucțiune de import care importează anteturile cadrului Twitter. Acum suntem gata să începem să tweeting.
#import
Treceți la dosarul de implementare al controlorului nostru de vizualizare și implementați-ne tweet: metodă. Vă voi trece prin implementarea pas cu pas.
Primul lucru pe care trebuie să-l facem este să verificăm dacă este posibil să trimiteți un tweet de pe dispozitivul curent. Facem asta prin trimitere TWTweetComposeViewController
mesajul canSendTweet. Rețineți că aceasta este o metodă de clasă. În spatele scenei, cadrul Twitter va verifica (1) dacă Twitter este accesibil și (2) dacă un cont Twitter (sau mai multe) este disponibil pe dispozitiv. Pentru a vă da un exemplu, dacă utilizatorul nu are conexiune la rețea, atunci această metodă va reveni NU, deoarece nu poate accesa Twitter. Desigur, suntem dezvoltatori buni și vom afișa o viziune de alertă adecvată atunci când nu este posibil să trimiteți un tweet. Construiți și executați aplicația pentru a vă asigura că putem trimite tweet-uri.
dacă [[TWTweetComposeViewController canSendTweet]) NSLog (@ "Pot trimite tweet-uri"); altfel // Afișează Alert View Când aplicația nu poate trimite Tweets NSString * message = @ "Aplicația nu poate trimite un tweet în acest moment, deoarece nu poate ajunge la Twitter sau nu aveți un cont Twitter asociat acestui dispozitiv . "; UIAlertView * alertView = [[UIAlertView alloc] initWithTitle: @ Mesajul "Oops": delegat mesaj: null cancelButtonTitle: @ "Respinge" otherButtonTitles: nil]; [alertView show];
Dacă putem trimite un tweet atunci ne inițializăm TWTweetComposeViewController
. TWTweetComposeViewController
este o subclasă de UIViewController
și este conceput pentru a prezenta tweet compose vedere și a trimite un tweet la Twitter. Putem configura TWTweetComposeViewController
într-o anumită măsură, prin stabilirea unui text inițial și adăugarea unei imagini sau a unei adrese URL la tweet. Să stabilim un text inițial.
// Initialize Tweet Controlați vizualizarea compunului TWTweetComposeViewController * vc = [[TWTweetComposeViewController alloc] init]; // Settin Textul inițial [vc setInitialText: @ "Acest mesaj tweet a fost trimis utilizând noul cadru disponibil în iOS 5"];
În cele din urmă, prezentăm modulul tweet compose view controller. Construiți și rulați aplicația dvs. și aruncați o privire la ceea ce am ajuns până acum.
// Afișați Tweet Compuneți vizualizarea Controler modally [self presentViewController: vc animat: DA finalizare: nil];
După cum puteți vedea, frumusețea trimiterii de tweets folosind TWTweetComposeViewController
este că aveți foarte puține cheltuieli ca dezvoltator. Nu aveți nevoie să vă faceți griji cu privire la interfața cu utilizatorul și trimiterea de tweet-uri are loc în fundal. De asemenea, utilizatorul poate adăuga locația lor la tweet atingând Adaugă locație butonul din stânga jos a vizualizării compuse din tweet.
Vreau să vă arăt câteva lucruri mai multe TWTweetComposeViewController
. Reveniți la implementarea noastră tweet: și adăugați o imagine la tweet-ul nostru. Înainte de a face acest lucru, trageți o imagine pe care doriți să o împărtășiți cu lumea în proiectul dvs. și asigurați-vă că ați copiat-o în proiect și adăugați-o la obiectivul dvs..
Adăugarea imaginii în tweet este foarte ușoară și necesită doar două rânduri de cod. Construiți și rulați din nou aplicația dvs. și vedeți cum este acum atașată imaginea la tweet-ul dvs. cu un agrafă de birou. După cum am menționat mai devreme, puteți adăuga și URL-uri. Chiar dacă vizualizarea tweet compose afișează imaginea și adresele URL ca atașamente ale tweet-ului dvs., este important să rețineți că imaginile și adresele URL reduc numărul de caractere al tweet-ului, care este limitat la maxim 140 de caractere.
// Adăugarea unei imagini UIImage * image = [UIImage imageNamed: @ "sample.jpg"]; [vc addImage: imagine];
Dacă doriți să eliminați o imagine sau o adresă URL dintr-un tweet, apelați removeAllImages și removeAllURLs, respectiv, în cazul dvs. TWTweetComposeViewController
. Puteți adăuga mai multe adrese URL într-un tweet, dar se pare că puteți adăuga o singură imagine pe tweet. Nu este clar dacă aceasta este o alegere deliberată făcută de Apple sau o eroare în cadrul Twitter. După cum ați văzut mai devreme, metoda de a elimina imaginile dintr-un tweet este removeAllImages, adică, plural.
Pentru a încheia acest tutorial, aș dori să vorbesc despre un alt aspect al lui TWTweetComposeViewController
, că este, opțiunea de a declara un handler de finalizare. Acesta este un bloc care se execută atunci când utilizatorul a apăsat butonul de anulare sau când tweet-ul a fost trimis cu succes pe Twitter. Managerul de terminare are un argument, un drapel care vă informează dacă anularea postării tweet-ului a fost anulată (TWTweetComposeViewControllerResultCancelled) sau dacă tweet-ul a fost trimis pe Twitter (TWTweetComposeViewControllerResultDone). Managerul de terminare este un loc bun pentru a respinge controlerul de vizualizare a compilațiilor tweet. Aruncați o privire la implementarea completă a serviciilor noastre tweet: metodă.
- (Id) expeditor if ([TWTweetComposeViewController canSendTweet]) // Initialize Tweet Controlați vizualizarea controlerului TWTweetComposeViewController * vc = [[TWTweetComposeViewController alloc] init]; // Settin Textul inițial [vc setInitialText: @ "Acest mesaj tweet a fost trimis utilizând noul cadru disponibil în iOS 5"]; // Adăugarea unei imagini UIImage * image = [UIImage imageNamed: @ "sample.jpg"]; [vc addImage: imagine]; // Adăugarea unei adrese URL NSURL * url = [NSURL URLWithString: @ "http://mobile.tutsplus.com"]; [vc addURL: url]; // Setarea unui handler de completare [vc setCompletionHandler: ^ (rezultat TWTweetComposeViewControllerResult) [self dismissModalViewControllerAnimated: YES]; ]; // Afișați Tweet Compuneți vizualizarea Controler modally [self presentViewController: vc animat: DA finalizare: nil]; altfel // Afișează Alert View Când aplicația nu poate trimite Tweets NSString * message = @ "Aplicația nu poate trimite un tweet în acest moment, deoarece nu poate ajunge la Twitter sau nu aveți un cont Twitter asociat acestui dispozitiv . "; UIAlertView * alertView = [[UIAlertView alloc] initWithTitle: @ Mesajul "Oops": delegat mesaj: null cancelButtonTitle: @ "Respinge" otherButtonTitles: nil]; [alertView show];
Trimiterea de tweets din aplicația dvs. a devenit incredibil de ușoară datorită integrării strânse a Twitter și a sistemului de operare. Inca TWTweetComposeViewController
poate nu vă dau suficientă flexibilitate. Sau poate doriți să vorbiți direct cu API-ul Twitter? TWRequest
clasa este soluția pe care o căutați. voi vorbi despre TWRequest
în a doua parte a seriei din două părți. Rămâneți aproape!