iPhone和Twitter API OAuth用户密钥和机密

iPhone和Twitter API OAuth用户密钥和机密,iphone,uitableview,twitter,tableview,mgtwitterengine,Iphone,Uitableview,Twitter,Tableview,Mgtwitterengine,从Twitter加载数据时出现问题。我在下面发布的方法工作了大约5-10分钟,然后冻结了我的消费者密钥 我知道这是关键,因为我已经在设备上安装了应用程序,然后我将进行更改并在模拟器上运行,它也会影响设备。这将持续大约30分钟,然后按键似乎会刷新自己,并且在不更改实际代码的情况下工作。有时我会在我的应用程序运行时进入Twitter开发,重置代码中的键并替换这些键,这会持续10分钟,然后同样的事情会发生 下面是我用来调用twitter OAuth并接收我的UITableView对象的代码 - (vo

从Twitter加载数据时出现问题。我在下面发布的方法工作了大约5-10分钟,然后冻结了我的消费者密钥

我知道这是关键,因为我已经在设备上安装了应用程序,然后我将进行更改并在模拟器上运行,它也会影响设备。这将持续大约30分钟,然后按键似乎会刷新自己,并且在不更改实际代码的情况下工作。有时我会在我的应用程序运行时进入Twitter开发,重置代码中的键并替换这些键,这会持续10分钟,然后同样的事情会发生

下面是我用来调用twitter OAuth并接收我的
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];

        //retweetCount = [[NSMutableArray alloc] init];

        [self updateStream:nil];
        [progressView.view removeFromSuperview];
    }
}

#pragma mark IBActions 

-(IBAction)updateStream:(id)sender
{
    // [_engine sendUpdate:[textfield text]];
    [_engine getFollowedTimelineSinceID:0 startingAtPage:0 count:100];

    //[_twitter getFollowedTimelineSinceID:0 startingAtPage:0 count:0];

    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
{
    // the user pressed the "Done" button, so dismiss the keyboard
    [textField resignFirstResponder];
    return YES;
}

// Return YES for supported orientations

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation) interfaceOrientation
{
    return YES;
}

#pragma mark UITableViewDataSource Methods 

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section    
{    
    // [_engine sendUpdate:[textfield text]];
    [_engine getFollowedTimelineSinceID:0 startingAtPage:0 count:100];

    int count = [tweets count];
    int count2 = [authors count];
    int count3 = [avatarsURL count];

    //Return just enough cells to fill the screen during loading ....
    if (count == 0)
        count = MyCustomRowCount;

    return count = 100;
    return count2 = 100;
    return count3 = 100;

    // return  count;
}

- (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];
    }

/*
    //Here it adds a nice shadow to the table view but will crash on rotation and send a wird dump 
    tableView.layer.shadowColor = [[UIColor blackColor] CGColor];
    tableView.layer.shadowOffset = CGSizeMake(1.0f, 1.0f);
    tableView.layer.shadowRadius = 8.0f;
    tableView.layer.shadowOpacity = 1.0f;     
*/

    [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.detailTextLabel setText:[(Tweet*)[retweetCount objectAtIndex:indexPath.row] reTweetCount]];
    [cell.textLabel setUserInteractionEnabled:YES];
    [cell.contentView setMultipleTouchEnabled:YES];

    // Here we use the new provided setImageWithURL: method to load the web image with SDWebImageManager
    [cell.imageView setImageWithURL:[NSURL URLWithString:[(Tweet*)[avatarsURL objectAtIndex:indexPath.row]avatarURL]]
    placeholderImage:[UIImage imageNamed:@"avatar.png"]];

    //add gradient to cell 
    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;
}

是的,对不起,我应该回来回答这个问题

首先确保您的请求没有超过Twitters API请求限制,我只是在重新加载我的表视图时

在修复了这个错误之后,我继续重置我的密钥,并向twitterapi发送了一个使用xAuth的请求“只需要几天时间就可以被接受”,此后我就没有任何问题了

我没有使用我的钥匙,直到我收到来自推特的信,信中说我被录取了,从那以后我就没有任何问题

我希望这能有所帮助,因为我知道这会变得多么令人沮丧


祝你好运

你找到解决办法了吗???正如我所看到的,即使是我的钥匙也会在一段时间后停止工作