iOS 5 en het Twitter Framework eerste stappen

Met de release van iOS 5 is een klein maar krachtig framework beschikbaar voor ontwikkelaars om Twitter snel te integreren in een applicatie. Deze tutorial leert je hoe je het leven veel gemakkelijker kunt maken door het Twitter-framework te gebruiken!

In deze tweedelige tutorialserie zal ik het hebben over het Twitter-framework dat werd geïntroduceerd met iOS 5. Het eerste deel behandelt TWTweetComposeViewController, wat het componeren en verzenden van tweets zo eenvoudig maakt als het presenteren van een modale view controller. Het tweede deel is geavanceerder omdat we TWRequest van naderbij bekijken, een klasse die is ontworpen om op een betrouwbare en directe manier interactie te hebben met de Twitter API. Een van de functies die de meesten van u zullen genieten, is de ingebouwde verificatiebehandeling. Het verwijdert volledig de hoofdpijn geassocieerd met authenticatie. Als OAuth je nachtmerries en hoofdpijn heeft bezorgd, dan zal je van het Twitter-raamwerk houden!


Project samenvatting

In deze zelfstudie laat ik u zien hoe u het Twitter-framework kunt integreren in een bestaande applicatie en hoe u deze kunt gebruiken TWTweetComposeViewController om tweets samen te stellen en te verzenden vanuit uw applicaties. We bouwen een nieuwe applicatie en voegen de mogelijkheid toe om tweets vanuit de applicatie te verzenden met verrassend weinig inspanning.


Voor we beginnen

Sinds iOS 5 is Twitter nauw geïntegreerd met het besturingssysteem en dit is een van de redenen dat interactie met Twitter erg gemakkelijk is geworden. Het besturingssysteem slaat nu uw Twitter-account op en dit betekent dat de gebruiker zijn Twitter-referenties niet opnieuw hoeft in te voeren voor elke toepassing die met Twitter wil praten. Als ontwikkelaar hoeft u alleen toegang tot het Twitter-account van de gebruiker aan te vragen, wat resulteert in een veel betere gebruikerservaring. Een ander voordeel voor de ontwikkelaar is dat de verificatie wordt afgehandeld door het besturingssysteem.

Dit betekent ook dat er een Twitter-account op uw apparaat (of iOS Simulator) moet zijn geïnstalleerd als u deze zelfstudie wilt voltooien. U kunt dit controleren door de instellingen toepassing op uw apparaat (of iOS Simulator) en selecteren tjilpen van de lijst. Hiermee ziet u welke accounts aan uw apparaat zijn gekoppeld. Tik op om een ​​account toe te voegen Account toevoegen en voer je Twitter-inloggegevens in. Laten we, met dat uit de weg, beginnen met het bouwen van onze applicatie.


Project Setup

Maak een nieuw project in Xcode door de. Te selecteren Toepassing enkele weergave sjabloon uit de lijst met sjablonen. Geef je sollicitatie een naam tjilpen, voer een bedrijfsidentificatie in, stel in iPhone voor de apparaatfamilie en vink aan Gebruik automatische referentietelling. Zorg ervoor dat u de resterende selectievakjes voor dit project uitschakelt. Vertel Xcode waar je je project wilt opslaan en klik creëren.


De gebruikersinterface instellen

Onze applicatie zal heel eenvoudig zijn in termen van gebruikersinterface, we hoeven maar één actie te maken in het header-bestand van onze view-controller. Laten we dat nu doen.

Ga naar ViewController.h en maak een IBAction genaamd tweet:. De actie wordt geactiveerd door een knop die we zullen toevoegen aan het xib-bestand van onze view controller. Vergeet niet om een ​​lege implementatie van onze actie toe te voegen aan ViewController.m om compilerwaarschuwingen te voorkomen.

 #importeren  @interface ViewController: UIViewController - (IBAction) tweet: (id) afzender; @einde
 - (IBAction) tweet: (id) afzender 

Het instellen van de gebruikersinterface in het xib-bestand van onze view-controller duurt slechts enkele seconden. Sleep een UIButton bijvoorbeeld naar de weergave van de view controller en geef het een titel van gekwetter. Het enige wat u hoeft te doen, is onze actie en knop bedraden. Regel het slepen van de knop naar de Bestand eigenaar en selecteer onze actie in het menu dat verschijnt. Dit zal onze actie koppelen aan de knoppen UIControlEventTouchUpInside, dat is wat we willen. Dat is alles wat we moeten doen in ons xib-bestand voor deze tutorial.


Het Twitter Framework toevoegen

Voordat we het Twitter-raamwerk kunnen gaan gebruiken, moeten we dit aan ons project toevoegen. Selecteer ons project in de Project Navigator en selecteer ons doel in de lijst met doelen. Open de Bouw fases tab bovenaan, open de Binaire koppeling met bibliotheken lade, klik op de plusknop en kies Twitter.framework van de lijst. Bovenaan het header-bestand van onze view controller, moeten we ook een import-instructie toevoegen die de headers van het Twitter-framework importeert. We zijn nu klaar om te beginnen met tweeten.

 #importeren 

Ga naar het implementatiebestand van onze view controller en laat ons implementeren tweet: methode. Ik zal je stap voor stap door de implementatie leiden.

Het eerste wat we moeten doen is controleren of het mogelijk is om een ​​tweet vanaf het huidige apparaat te verzenden. We doen dit door te verzenden TWTweetComposeViewController het bericht canSendTweet. Merk op dat dit een klassemethode is. Achter de schermen controleert het Twitter-framework (1) of Twitter toegankelijk is en (2) of een Twitter-account (of meer) beschikbaar is op het apparaat. Om u een voorbeeld te geven, als de gebruiker geen netwerkverbinding heeft, zal deze methode terugkeren NEE, omdat het geen toegang heeft tot Twitter. Natuurlijk zijn we goede ontwikkelaars en we geven een passende waarschuwingsweergave weer wanneer het niet mogelijk is om een ​​tweet te verzenden. Bouw en voer uw applicatie uit om ervoor te zorgen dat we tweets kunnen verzenden.

 if ([TWTweetComposeViewController canSendTweet]) NSLog (@ "Ik kan tweets verzenden.");  else // Show Alert View wanneer de applicatie geen Tweets kan verzenden NSString * message = @ "De applicatie kan momenteel geen tweet verzenden. Dit is omdat het Twitter niet kan bereiken of u geen Twitter-account heeft gekoppeld aan dit apparaat . "; UIAlertView * alertView = [[UIAlertView alloc] initWithTitle: @ "Oops" -bericht: message delegate: nil cancelButtonTitle: @ "Dismiss" otherButtonTitles: nil]; [alertView show]; 

Als we een tweet kunnen verzenden, initialiseren we onze TWTweetComposeViewController. TWTweetComposeViewController is een subklasse van UIViewController en is ontworpen om de tweet samengestelde weergave te presenteren en een tweet naar Twitter te sturen. We kunnen het configureren TWTweetComposeViewController tot op zekere hoogte door een eerste tekst in te stellen en een afbeelding of URL aan de tweet toe te voegen. Laten we een eerste tekst instellen.

 // Initialize Tweet Compose View Controller TWTweetComposeViewController * vc = [[TWTweetComposeViewController alloc] init]; // Settin The Initial Text [vc setInitialText: @ "Deze tweet is verzonden met behulp van het nieuwe Twitter-framework dat beschikbaar is in iOS 5."];

Ten slotte presenteren we de tweet compose view-controller modaal. Bouw en run uw applicatie en kijk wat we tot nu toe hebben gekregen.

 // Display Tweet Compose Bekijk Controller Modally [self presentViewController: vc geanimeerd: YES completion: nil];

Zoals je ziet is de schoonheid van het verzenden van tweets met de TWTweetComposeViewController is dat je heel weinig overhead hebt als ontwikkelaar. U hoeft zich geen zorgen te maken over de gebruikersinterface en het verzenden van tweets vindt plaats op de achtergrond. De gebruiker kan ook zijn locatie aan de tweet toevoegen door op de Voeg locatie toe knop linksonder in de compilatieweergave van de tweet.

Ik wil je nog een paar dingen laten zien TWTweetComposeViewController. Spring terug naar de implemenatie van onze tweet: methode en laten we een afbeelding toevoegen aan onze tweet. Voordat u dit doet, sleept u een afbeelding die u met de wereld wilt delen in uw project en kopieert u deze naar uw project en voegt u deze toe aan uw doel.

Het toevoegen van de afbeelding aan uw tweet is heel eenvoudig en vereist slechts twee regels code. Bouw en voer uw applicatie opnieuw uit en zie hoe de afbeelding nu is gekoppeld aan uw tweet met een paperclip. Zoals ik eerder al zei, kunt u ook URL's toevoegen. Hoewel de tweet samenstellingsweergave de afbeelding en URL's als bijlagen van uw tweet weergeeft, is het belangrijk om te weten dat afbeeldingen en URL's het aantal tekens van uw tweet verminderen, dat is beperkt tot maximaal 140 tekens.

 // Een afbeelding toevoegen UIImage * image = [UIImage imageNamed: @ "sample.jpg"]; [vc addImage: afbeelding];

Als u een afbeelding of URL uit een tweet wilt verwijderen, belt u removeAllImages en removeAllURLs, respectievelijk op uw exemplaar van TWTweetComposeViewController. U kunt meerdere URL's toevoegen aan een tweet, maar het lijkt erop dat u slechts één afbeelding per tweet kunt toevoegen. Het is onduidelijk of dit een opzettelijke keuze is gemaakt door Apple of een bug in het Twitter-raamwerk. Zoals je eerder zag, is de methode om afbeeldingen uit een tweet te verwijderen removeAllImages, dat is meervoud.

Om deze tutorial te beëindigen, wil ik het hebben over een ander aspect van TWTweetComposeViewController, dat is de optie om een ​​voltooiingshandler te declareren. Dit is een blok dat wordt uitgevoerd wanneer de gebruiker op de knop Annuleren tikt of wanneer de tweet met succes is verzonden naar Twitter. De voltooiingshandler neemt een argument, een vlag die u informeert of het plaatsen van de tweet is geannuleerd (TWTweetComposeViewControllerResultCancelled) of dat de tweet naar Twitter is verzonden (TWTweetComposeViewControllerResultDone). De voltooiingshandler is een goede plaats om de tweet compose view-controller af te wijzen. Bekijk de volledige implementatie van onze tweet: methode.

 - (IBAction) tweet: (id) afzender if ([TWTweetComposeViewController canSendTweet]) // Initialize Tweet Compose View Controller TWTweetComposeViewController * vc = [[TWTweetComposeViewController alloc] init]; // Settin The Initial Text [vc setInitialText: @ "Deze tweet is verzonden met behulp van het nieuwe Twitter-framework dat beschikbaar is in iOS 5."]; // Een afbeelding toevoegen UIImage * image = [UIImage imageNamed: @ "sample.jpg"]; [vc addImage: afbeelding]; // Een URL toevoegen NSURL * url = [NSURL URLWithString: @ "http://mobile.tutsplus.com"]; [vc addURL: url]; // Een voltooiingshandler instellen [vc setCompletionHandler: ^ (TWTweetComposeViewController Resultaat resultaat) [self dismissModalViewControllerAnimated: YES]; ]; // Display Tweet Compose Bekijk Controller Modally [self presentViewController: vc geanimeerd: YES completion: nil];  else // Show Alert View wanneer de applicatie geen Tweets kan verzenden NSString * message = @ "De applicatie kan momenteel geen tweet verzenden. Dit is omdat het Twitter niet kan bereiken of u geen Twitter-account heeft gekoppeld aan dit apparaat . "; UIAlertView * alertView = [[UIAlertView alloc] initWithTitle: @ "Oops" -bericht: message delegate: nil cancelButtonTitle: @ "Dismiss" otherButtonTitles: nil]; [alertView show]; 

Conclusie

Het verzenden van tweets vanuit uw applicatie is ongelooflijk gemakkelijk geworden dankzij de nauwe integratie van Twitter en het besturingssysteem. Nog TWTweetComposeViewController geeft je misschien niet genoeg flexibiliteit. Of wil je direct met de Twitter API praten? De TWRequest klas is de oplossing waar je naar op zoek bent. ik zal praten over TWRequest in het tweede deel van deze tweedelige serie. Blijf kijken!