ios - eliminar - olvide mi codigo de restricciones iphone 5
TWRequest está en desuso en iOS 6.0. ¿Qué puedo usar en su lugar? (4)
En caso de que planees integrar TwitterKit por Twitter para realizar los tweets a través de tu aplicación de Twitter personalizada, esto podría ayudarte.
https://stackoverflow.com/a/28602749/1740354
Estoy desarrollando una vista de Twitter para una aplicación iOS. Encontré TWRequest y funciona exactamente igual a lo que estaba buscando. Pero: recibo un Aviso: "TWRequest está en desuso: primero en desuso en iOS 6.0". ¿Qué debo usar en su lugar?
Otra alternativa es utilizar la API de Twitter. Deberías tener un marco de Twitter para eso.
Luego haz el siguiente código:
NSString *statusesShowEndpoint = @"https://api.twitter.com/1.1/statuses/update.json";
NSDictionary *params = @{@"status": @"Hello, my first autopost tweet..."};
NSError *clientError;
NSURLRequest *request = [[[Twitter sharedInstance] APIClient]
URLRequestWithMethod:@"POST"
URL:statusesShowEndpoint
parameters:params
error:&clientError];
if (request) {
[[[Twitter sharedInstance] APIClient]
sendTwitterRequest:request
completion:^(NSURLResponse *response,
NSData *data,
NSError *connectionError) {
if (data) {
// handle the response data e.g.
NSError *jsonError;
NSDictionary *dicResponse = [NSJSONSerialization
JSONObjectWithData:data
options:0
error:&jsonError];
NSLog(@"%@",[dicResponse description]);
}
else {
NSLog(@"Error code: %ld | Error description: %@", (long)[connectionError code], [connectionError localizedDescription]);
}
}];
}
else {
NSLog(@"Error: %@", clientError);
}
Aquí hay un código completo para cargar texto + imagen a su cuenta de Twitter usando la API de Twitter.
UIImage *img = [UIImage imageNamed:@"twitterImage.png"];
ACAccountStore *account = [[ACAccountStore alloc] init];
ACAccountType *accountType = [account accountTypeWithAccountTypeIdentifier:ACAccountTypeIdentifierTwitter];
[account requestAccessToAccountsWithType:accountType withCompletionHandler:^(BOOL granted, NSError *error) {
if (granted == YES) {
// Populate array with all available Twitter accounts
NSArray *arrayOfAccounts = [account accountsWithAccountType:accountType];
if ([arrayOfAccounts count] > 0) {
ACAccount *acct = [arrayOfAccounts objectAtIndex:0];
NSDictionary *message = @{@"status": @"From my app"};
NSURL *requestURL = [NSURL URLWithString:@"https://upload.twitter.com/1/statuses/update_with_media.json"];
SLRequest *postRequest = [SLRequest
requestForServiceType:SLServiceTypeTwitter
requestMethod:SLRequestMethodPOST
URL:requestURL parameters:message];
NSData *data = UIImagePNGRepresentation(img);
[postRequest addMultipartData:data withName:@"media" type:@"image/png" filename:@"TestImage"];
postRequest.account = acct;
[postRequest performRequestWithHandler:
^(NSData *responseData, NSHTTPURLResponse
*urlResponse, NSError *error)
{
if (error) {
NSLog(@"%@",error.description);
}
else {
NSLog(@"Upload Sucess !");
}
}];
}
}
}];
En iOS 6 debes usar Social.framework
. Esto tiene una clase llamada SLRequest
.
Lo usas casi de la misma manera que la TWRequest
desuso, pero debes especificar que es una solicitud de Twitter en lugar de una solicitud de Facebook.
Todo Twitter.framework
quedó obsoleto a partir de iOS 6, ya que Apple agregó Facebook y Weibo (una red social china) a iOS 6, agruparon todas las clases sociales en el nuevo Social.framework
.
Tenga en cuenta que debe especificar el tipo de servicio para Twitter / Facebook, Ejemplo:
SLRequest *aRequest = [SLRequest requestForServiceType:SLServiceTypeTwitter
requestMethod:SLRequestMethodPOST
URL:myurl
parameters:myparams];
Asegúrese de revisar la documentation .