2009-09-07 3 views
1

Я пытаюсь реализовать http://github.com/bengottlieb/Twitter-OAuth-iPhone/tree/master в свой код. Я слежу за предоставленным демо, и я не могу заставить его работать. Здесь я думаю, что проблема в настоящее время.Twitter + OAuth + iPhone = fustration

Так пример объявляет контроллер представления, который обрабатывает OAuth соединений и такие в делегатах приложения заголовка следующим образом:

приложения делегат заголовок:

#import <uikit/uikit.h> 

@class OAuthTwitterDemoViewController; 

@interface OAuthTwitterDemoAppDelegate : NSObject <UIApplicationDelegate> { 
    UIWindow *window; 
    OAuthTwitterDemoViewController *viewController; 
} 

@property (nonatomic, retain) IBOutlet UIWindow *window; 
@property (nonatomic, retain) IBOutlet OAuthTwitterDemoViewController *viewController; 

@end 

В приложении делегат осущий:

@implementation OAuthTwitterDemoAppDelegate 

@synthesize window; 
@synthesize viewController; 


- (void)applicationDidFinishLaunching:(UIApplication *)application {  

    // Override point for customization after app launch  
    [window addSubview:viewController.view]; <------------------------ 
    [window makeKeyAndVisible]; 
} 


- (void)dealloc { 
    [viewController release]; 
    [window release]; 
    [super dealloc]; 
} 


@end 

Так как вы можете увидеть, где находится стрелка, мы никогда не делаем initWithNib или простой init, мы просто добавляем его в окно.

Что вызывается на ViewController является:

OAuthTwitterDemoViewController

- (void) viewDidAppear: (BOOL)animated { 
    if (_engine) return; 
    _engine = [[SA_OAuthTwitterEngine alloc] initOAuthWithDelegate: self]; 
    _engine.consumerKey = kOAuthConsumerKey; 
    _engine.consumerSecret = kOAuthConsumerSecret; 

    [_engine requestRequestToken]; 

    UIViewController   *controller = [SA_OAuthTwitterController controllerToEnterCredentialsWithTwitterEngine: _engine delegate: self]; 

    if (controller) 
     [self presentModalViewController: controller animated: YES]; 
    else { 
     [_engine sendUpdate: [NSString stringWithFormat: @"Already Updated. %@", [NSDate date]]]; 
    } 

} 

Так в основном в моем примере это никогда не вызывается, но в демо-версии это делает. Я смущен тем, что мне может понадобиться, чтобы заставить это работать. Мне интересно, поскольку viewController - это IBOutlet в заголовке делегатов приложения, который, возможно, мне нужно что-то сделать в Interface Builder, но я не уверен, что.

Любая помощь будет оценена!

+0

Что такое подпись в twitter oauth? – GameLoading

ответ

0

Мы просто используем стандартный шаблон приложения на основе представления для демонстрации; вы используете это или что-то еще? Является ли ваш OAuthTwitterDemoViewController когда-либо созданным экземпляром (т. Е. Имеет ли viewController значение, или это 0x0, в вашем приложенииDidFinishLaunching :)?

Непонятно, что работает в вашем проекте, а что нет. Не могли бы вы это немного уточнить?

+0

Я использовал шаблон приложения на основе окон и добавил файлы OAuthTwitterDemoViewController.h/m в свой проект. Затем я добавил код в свой делегат приложения, который имитирует делегат приложения для работы с OAuthTwitterDemoViewController. Я скажу приложениюDidFinishLaunching viewController не имеет значения. Я не совсем уверен, где вы создаете OAuthTwitterDemoViewController, потому что в вашем коде вы просто добавляете viewController.view в окно. Я что-то упускаю. Спасибо, что ответили на этот пост и за вашу помощь. – TheGambler

+0

Кроме того, это довольно аккуратно, что автор этого кода ответил на мой пост. – TheGambler

+0

Я получил его для работы с использованием шаблона viewcontroller. Мне нужно вернуться и снова научиться связывать эти вещи вместе. Спасибо за сообщение. – TheGambler