Paul T.
Paul T.

Reputation: 5038

Twitter.framework Image and message issue

I'm using Twitter.framework to post images with message to Twitter. But I see images without message in my Twitter account. I use this code

       // Create an account store object.
        ACAccountStore *accountStore = [[ACAccountStore alloc] init];

        // Create an account type that ensures Twitter accounts are retrieved.
        ACAccountType *accountType = [accountStore accountTypeWithAccountTypeIdentifier:ACAccountTypeIdentifierTwitter];

        // Request access from the user to use their Twitter accounts.
        [accountStore requestAccessToAccountsWithType:accountType withCompletionHandler:^(BOOL granted, NSError *error) {
            if(granted) {
                // Get the list of Twitter accounts.
                NSArray *accountsArray = [accountStore accountsWithAccountType:accountType];


                if ([accountsArray count] > 0) {
                    // Grab the initial Twitter account to tweet from.
                    ACAccount *twitterAccount = [accountsArray objectAtIndex:0];



                    UIImage *image =[UIImage imageNamed:@"logo"];


                    TWRequest *postRequest = [[TWRequest alloc] initWithURL:[NSURL URLWithString:@"https://upload.twitter.com/1/statuses/update_with_media.json"] 
                                                                         parameters:[NSDictionary dictionaryWithObjectsAndKeys:@"Hello. This is a tweet.", @"status", @"My message", @"message", nil] requestMethod:TWRequestMethodPOST];

                    // "http://api.twitter.com/1/statuses/update.json" 

                    [postRequest addMultiPartData:UIImagePNGRepresentation(image) withName:@"media" type:@"multipart/png"];


                    // Set the account used to post the tweet.
                    [postRequest setAccount:twitterAccount];

                    [postRequest performRequestWithHandler:^(NSData *responseData, NSHTTPURLResponse *urlResponse, NSError *error) {
                        NSString *output = [NSString stringWithFormat:@"HTTP response status: %i", [urlResponse statusCode]];
                        NSLog(@"output = %@\n\n", output);
                    }];
                }
            }
        }];

What I see in twitter:

enter image description here

And when I unroll:

enter image description here

But I don't see a message

Upvotes: 0

Views: 344

Answers (2)

Paul T.
Paul T.

Reputation: 5038

I fount out, how to send text with image: Add this code

[postRequest addMultiPartData:[@"This photo is taken with my iPhone using nPassword!" dataUsingEncoding:NSUTF8StringEncoding] withName:@"status" type:@"multipart/form-data"];

Upvotes: 1

superGokuN
superGokuN

Reputation: 1424

Try FOllowing code i m using it and its working fine. Hope it will help you as well

-(IBAction)goTweet:(id)sender{

if ([TWTweetComposeViewController canSendTweet])
{
    TWTweetComposeViewController *tweetSheet = [[TWTweetComposeViewController alloc] init];
    [tweetSheet setInitialText:[NSString stringWithFormat:@"YOUR TWEET HERE"]];

    [tweetSheet addImage:[UIImage imageNamed:@"site-logo.jpg"]];

    [self presentModalViewController:tweetSheet animated:YES];
    [shareLoading stopAnimating];
}
else
{
    UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Twitter" 
                                                        message:@"Sorry, you can't send a Tweet yet, please make sure you are connected to the internet and have at least one Twitter account set up on your phone in Settings --> Twitter." 
                                                       delegate:self 
                                              cancelButtonTitle:@"OK" 
                                              otherButtonTitles:nil];
    [alertView show];

}

}

Upvotes: 2

Related Questions