2013-01-10 130 views
0

我已经使用FAcebook SDK 3.0集成Facebook。我有使用示例代码“HelloFacebookSample” 发布状态。 我用AppId更改了Info.plist文件。 我有问题,显示armv7s,armv7架构problem.I甚至通过“构建活动架构只有”到YE解决。facebook与iPhone的Facebook集成与Facebook的SDK的iOS 5和6

我有代码,显示登录/注销按钮为Facebook

#import "HFViewController.h" 

#import "AppDelegate.h" 
#import <CoreLocation/CoreLocation.h> 


@interface HFViewController() <FBLoginViewDelegate> 


@property (strong, nonatomic) IBOutlet UIButton *buttonPostStatus; 

@property (strong, nonatomic) id<FBGraphUser> loggedInUser; 

- (IBAction)postStatusUpdateClick:(UIButton *)sender; 


- (void)showAlert:(NSString *)message 
     result:(id)result 
     error:(NSError *)error; 


@end 

@implementation HFViewController 
@synthesize shareStringFb; 
@synthesize buttonPostStatus = _buttonPostStatus; 

@synthesize loggedInUser = _loggedInUser; 


- (void)viewDidLoad {  
[super viewDidLoad]; 

// Create Login View so that the app will be granted "status_update" permission. 
self.buttonPostStatus.enabled = YES; 

FBLoginView *loginview = [[FBLoginView alloc] init]; 

loginview.frame = CGRectOffset(loginview.frame, 5, 5); 
loginview.delegate = self; 

[self.view addSubview:loginview]; 

[loginview sizeToFit]; 
statusText.text=self.shareStringFb; 
{ 
    // if the session is closed, then we open it here, and establish a handler for state changes 
} 

}

-(IBAction)backClick:(id)sender 
{ 
[self.view removeFromSuperview]; 

} 

- (void)viewDidUnload { 

self.buttonPostStatus = nil; 

self.loggedInUser = nil; 

[super viewDidUnload]; 
} 



- (void)loginViewShowingLoggedInUser:(FBLoginView *)loginView { 
// first get the buttons set for login mode 

    self.buttonPostStatus.enabled = YES; 

} 

- (void)loginViewFetchedUserInfo:(FBLoginView *)loginView 
         user:(id<FBGraphUser>)user { 
// here we use helper properties of FBGraphUser to dot-through to first_name and 
// id properties of the json response from the server; alternatively we could use 
// NSDictionary methods such as objectForKey to get values from the my json object 

self.loggedInUser = user; 
} 

- (void)loginViewShowingLoggedOutUser:(FBLoginView *)loginView { 

    self.buttonPostStatus.enabled = NO; 

    } 

//发布状态更新按钮处理 - (IBAction为)postStatusUpdateClick:(UIButton的*)发件人{

// Post a status update to the user's feed via the Graph API, and display an alert view 
// with the results or an error. 

NSString *message = [NSString stringWithFormat:@"Updating %@'s status at %@", 
        self.loggedInUser.first_name, [NSDate date]]; 

[FBRequestConnection startForPostStatusUpdate:self.shareStringFb 
          completionHandler:^(FBRequestConnection *connection, id   result, NSError *error) { 

           [self showAlert:message result:result error:error]; 
           self.buttonPostStatus.enabled = YES; 
          }]; 

self.buttonPostStatus.enabled = NO;  

}

//发布图片按钮处理程序

它显示一个按钮与模拟器中的登录/注销,但是当我在设备中测试它不显示该按钮。

请问任何人都可以告诉我什么是问题?为什么它没有显示出来?是否有其他方法可以将Fb集成到ios 5和6中。

+1

对于iOS6的存在对于Facebook集成内置功能。 .. – Vishal

+0

你一定需要发布更多的代码才能帮助你。 – jakenberg

+0

@jinal嘿亲爱的vishal说的是正确的..在这里你可以得到像ios5的Twitter的Facebook的inbult框架,你能接受我给你的答案吗? –

回答

0
ViewController.h 

    #import <FacebookSDK/FacebookSDK.h> 

    { 
    NSDictionary *dictionary; 
     NSString *user_email; 
     NSString *accessTokan; 


     NSMutableDictionary *fb_dict; 
    } 


- (IBAction)btn_loginwithfacebook:(id)sender; 
{ 

    if (!FBSession.activeSession.isOpen) 
    { 
     // if the session is closed, then we open it here, and establish a handler for state changes 

     [FBSession openActiveSessionWithReadPermissions:nil allowLoginUI:YES completionHandler:^(FBSession *session,FBSessionState state, NSError *error) 
     { 
      if (error) 
      { 
       UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Error" message:error.localizedDescription delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil]; 
       [alertView show]; 
      } 
      else if(session.isOpen) 
      { 
       [self btn_loginwithfacebook:sender]; 
      } 

     }]; 

     return; 
    } 


    [FBRequestConnection startWithGraphPath:@"me" parameters:[NSDictionary dictionaryWithObject:@"picture,id,birthday,email,name,gender,username" forKey:@"fields"] HTTPMethod:@"GET" completionHandler:^(FBRequestConnection *connection, id result, NSError *error) 
    { 
     if (!error) 
     { 
      if ([result isKindOfClass:[NSDictionary class]]) 
      { 
       //NSDictionary *dictionary; 
       if([result objectForKey:@"data"]) 
        dictionary = (NSDictionary *)[(NSArray *)[result objectForKey:@"data"] objectAtIndex:0]; 
       else 
        dictionary = (NSDictionary *)result; 
       //NSLog(@"dictionary : %@",dictionary); 



       user_email = [dictionary objectForKey:@"email"]; 
       [dictionary retain]; 
       //NSLog(@"%@",user_email);// 
      } 
     } 
    }]; 
    accessTokan = [[[FBSession activeSession] accessTokenData] accessToken]; 
    //NSLog(@"%@",accessTokan); 

    NSMutableURLRequest *request = [[[NSMutableURLRequest alloc] init] autorelease]; 
    [request setURL:[NSURL URLWithString:[NSString stringWithFormat:@"https://graph.facebook.com/me?access_token=%@",accessTokan]]]; 
    [request setHTTPMethod:@"GET"]; 
    [request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"]; 
    NSError *error; 
    NSURLResponse *response; 
    NSData *urlData=[NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error]; 
    NSString *str=[[NSString alloc]initWithData:urlData encoding:NSUTF8StringEncoding]; 

    //NSLog(@"%@",str); 
    fb_dict = [str JSONValue]; 
    [str release];} 

FacebookAppID :: 370546396320150种 URL类型 项目0 URL方案 项目0 :: fb370546396320150