I have a problem downloading my data from Twitter. The method that I posted below works for about 5-10 minutes, then it freezes my consumer keys ....
I know that these are keys, because I have an application already installed on the device, then I will make changes and run on the simulator, and this also affects the device. This is the last of about 30 minutes, after which the keys seem to be updated and work without any changes in the actual code. Sometimes I just go to Twitter. Dev was my application and reset the keys and replaced the keys in my code, and it works for about 10 minutes, then the same thing happens!
Here is the code I use to call OAuth twitter and get objects for mine UITableView.
- (void)viewDidAppear:(BOOL)animated
{
if(_engine) return;
_engine = [[SA_OAuthTwitterEngine alloc] initOAuthWithDelegate:self];
_engine.consumerKey = @"key";
_engine.consumerSecret = @"key";
UIViewController *controller = [SA_OAuthTwitterController controllerToEnterCredentialsWithTwitterEngine: _engine delegate: self];
if (controller)
[self presentModalViewController: controller animated: YES];
else
{
userAvatar.image = [UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://a2.twimg.com/profile_images/1361674958/Wintboard_200px.png" ]]];
tweets = [[NSMutableArray alloc] init];
authors = [[NSMutableArray alloc] init];
avatarsURL =[[NSMutableArray alloc] init];
friendsCount = [[NSMutableArray alloc] init];
followerCount = [[NSMutableArray alloc] init];
retweetCount = [[NSMutableArray alloc] init];
[self updateStream:nil];
[progressView.view removeFromSuperview];
}
}
#pragma mark IBActions
-(IBAction)updateStream:(id)sender
{
[_engine getFollowedTimelineSinceID:0 startingAtPage:0 count:100];
NSString *path = [[NSBundle mainBundle] pathForResource:@"unlock" ofType:@"caf"];
AVAudioPlayer* theAudio = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:path] error:NULL];
theAudio.delegate = self;
[theAudio play];
}
-(IBAction)tweet:(id)sender
{
[_engine sendUpdate:[textfield text]];
[self updateStream:nil];
if (textfield isFirstResponder])
{
textfield.text = @"";
[textfield resignFirstResponder];
}
}
-(BOOL)textFieldShouldClear:(UITextField*)textfield
{
return YES;
}
- (BOOL)textFieldShouldReturn:(UITextField *)textField
{
[textField resignFirstResponder];
return YES;
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation) interfaceOrientation
{
return YES;
}
#pragma mark UITableViewDataSource Methods
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
[_engine getFollowedTimelineSinceID:0 startingAtPage:0 count:100];
int count = [tweets count];
int count2 = [authors count];
int count3 = [avatarsURL count];
if (count == 0)
count = MyCustomRowCount;
return count = 100;
return count2 = 100;
return count3 = 100;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
NSString *identifier = @"cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:identifier];
if (cell == nil)
{
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:identifier] autorelease];
}
[cell.textLabel setNumberOfLines:1];
[cell.textLabel setText:[(Tweet*)[authors objectAtIndex:indexPath.row] author]];
[cell.detailTextLabel setText:[(Tweet*)[tweets objectAtIndex:indexPath.row] tweet]];
[cell.detailTextLabel setNumberOfLines:10];
[cell.textLabel setTextColor:[UIColor darkGrayColor]];
[cell.textLabel setShadowColor:[UIColor whiteColor]];
[cell.textLabel setShadowOffset:CGSizeMake(0.5, 0.5)];
[cell.detailTextLabel setTextColor:[UIColor blackColor]];
[cell.textLabel setUserInteractionEnabled:YES];
[cell.contentView setMultipleTouchEnabled:YES];
[cell.imageView setImageWithURL:[NSURL URLWithString:[(Tweet*)[avatarsURL objectAtIndex:indexPath.row]avatarURL]]
placeholderImage:[UIImage imageNamed:@"avatar.png"]];
UIImage *gradient = [UIImage imageNamed:@"gradientcell2.png"];
UIImageView *cellimage = [[UIImageView alloc] initWithImage:gradient];
cellimage.contentMode = UIViewContentModeScaleToFill;
cell.backgroundView = cellimage;
[cellimage release];
UIImage *selectedGradient = [UIImage imageNamed:@"selectedcell.png"];
UIImageView *selectedCell = [[UIImageView alloc] initWithImage:selectedGradient];
selectedCell.contentMode = UIViewContentModeScaleToFill;
cell.selectedBackgroundView = selectedCell;
[tableView setBackgroundColor:[UIColor clearColor]];
return cell;
}