2012-05-22 4 views
0

iOS 앱 (iOS 5에서 실행되는 ARC)에서 facebook connect를 사용하고 있습니다. 그것은 두 시뮬레이터와 장치에서 잘 작동하지만 오늘 아침부터 장치에서 작동이 멈추었으므로 시뮬레이터에서 여전히 작동합니다. 장치에서 fbDinNotLogin 메서드가 호출됩니다.iOS에서 iOS Facebook SDK 연결이 실패합니다.

시뮬레이터가 모바일 페이스 북을 사용하고 내 앱이 기본 iOS 페이스 북 앱을 사용한다는 차이점을 알고 있으며, 다른 곳에서 로그인 할 수 있도록 facebook.m 파일을 조정할 수 있음을 알고 있습니다. 그걸하고 싶지 않아.

내 이전 빌드를로드하는 중 (모든 것이 잘 작동하는 곳)도 동일한 결과를 제공합니다. 어제 실행 된 동일한 코드가 오늘 실행되지 않습니다. 왜 이런 일이 일어나는가? 아래는 내 대리인 .m 파일입니다.

[EIDT] 네이티브 페이스 북 앱에서 다양한 취미를 갖게되었습니다. 때로는 페이스 북 앱을 열어 내 앱으로 돌아 오지 않는 경우가 있습니다. 때로는 페이스 북 앱에서 허락을받지 않아도 내 앱으로 돌아갈 때가 있습니다. 나는 매우 혼란 스럽다. [/ 편집]

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:  (NSDictionary *)launchOptions { 

user *userClass= [[user alloc] init]; 
if ([[NSUserDefaults standardUserDefaults] boolForKey:@"HasLaunchedOnce"]) 
{ 
    // app already launched for the first time 


} 
else 
{ 
    // This is the first launch ever 
    [[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"HasLaunchedOnce"]; 
    [[NSUserDefaults standardUserDefaults] synchronize]; 
    [userClass CopyDbToDocumentsFolder]; 




} 




facebook = [[Facebook alloc] initWithAppId:@"XXXXXXXXXX" andDelegate:self]; 
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 
if ([defaults objectForKey:@"FBAccessTokenKey"] 
&& [defaults objectForKey:@"FBExpirationDateKey"]) { 
facebook.accessToken = [defaults objectForKey:@"FBAccessTokenKey"]; 
facebook.expirationDate = [defaults objectForKey:@"FBExpirationDateKey"]; 
} 
if (![facebook isSessionValid]) { 
[facebook authorize:nil]; 

} 





return YES; 
} 

-(void)fbDidLogout 
{ 
NSLog(@"Facebook loggedOut"); 
} 

- (void)fbDidNotLogin:(BOOL)cancelled 
{ 


NSLog(@"Facebook Connect Failed"); 


} 


- (void)fbDidLogin { 
    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 
[defaults setObject:[facebook accessToken] forKey:@"FBAccessTokenKey"]; 
[defaults setObject:[facebook expirationDate] forKey:@"FBExpirationDateKey"]; 
[defaults synchronize]; 

} 

- (void)fbSessionInvalidated 
{ 
NSLog(@"Facebook Session Invalidated"); 
} 



- (void)fbDidExtendToken:(NSString*)accessToken 
      expiresAt:(NSDate*)expiresAt 
{ 
NSLog(@"Facebook Toekn was extended"); 
} 



- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url { 
    return [self.facebook handleOpenURL:url]; 
} 

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:   (NSString *)sourceApplication annotation:(id)annotation { 
    return [self.facebook handleOpenURL:url]; 
} 


- (void)applicationDidBecomeActive:(UIApplication *)application { 
// Although the SDK attempts to refresh its access tokens when it makes API calls, 
// it's a good practice to refresh the access token also when the app becomes active. 
// This gives apps that seldom make api calls a higher chance of having a non expired 
// access token. 
[[self facebook] extendAccessTokenIfNeeded]; 
} 

@end 

답변

0

문제가 실제로 내 응용 프로그램 페이스 북과 아니었다 정보가있다! 내 개발자 계정이 변경 사항 등을 저장하지 못했지만 지금은 다시 작동합니다.