2012-09-10 2 views
0

Facebook SDK 3.0과 함께 제공되는 HelloFacebookSample 앱을 컴파일하는 데 문제가 있습니다.Facebook SDK 3.0 HelloFacebookSample 빌드 오류

먼저 Xcode 4.0.2, iOS SDK 4.3 및 OS X 10.6.8을 사용해야합니다. (나는 꺼려하는 라이온이나 Mountain Lion으로 업그레이드하지 않고 Xcode 4.2를 다운로드하는 방법을 찾기 위해 고심하고 있습니다.)

샘플 프로젝트를 빌드 할 때 다음과 같은 빌드 오류가 발생합니다.

1) 프로그램

int main(int argc, char *argv[]) 
{ 
    @autoreleasepool { // error on this line 
     return UIApplicationMain(argc, argv, nil, NSStringFromClass([HFAppDelegate class])); 
    } 
} 

2) 예상 I)가 올바르게 해결되었는지 나는이 문제 (확실하지를 "해결"할 수 식별자

- (BOOL)application:(UIApplication *)application 
      openURL:(NSURL *)url 
    sourceApplication:(NSString *)sourceApplication 
     annotation:(id)annotation { 
    // attempt to extract a token from the url 
    return [FBSession.activeSession handleOpenURL:url]; // error on this line 
} 

- (void)applicationWillTerminate:(UIApplication *)application { 
    // FBSample logic 
    // if the app is going away, we close the session object 
    [FBSession.activeSession close];      // error on this line 
} 

에 '@'예기치 않은,하지만 그러면 다음 연결 오류가 발생합니다.

Framework not found Accounts

Command /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/clang failed with exit code 1

아무도 도와 줄 수 있습니까? 샘플 프로젝트를 구축 할 수 없다면 Facebook에 내 앱을 통합하는 데 별다른 운이 없을 것입니다!

+0

프로젝트를 만들었습니까? 파일 -> 새 프로젝트로 이동하십시오. 그것은 구축합니까? – Jessedc

+0

안녕하세요. 예, Facebook SDK를 다운로드하기 전에 빌드 한 모든 프로젝트를 빌드 할 수 있습니다. 나는 광범위한 연구를 수행하고 처음 두 개의 오류를 해결했다. 그것은 단지 여전히 링크 오류이다. 하지만 Facebook SDK 3.0에서는 iOS 4.0 이상과 호환되므로 샘플 테스트가 전혀 문제없이 구축 될 것이라고 생각했습니다. – Sam

답변

1

나는 모든 문제를 해결했습니다. 샘플이 iOS 4.3 또는 Xcode 4.0.2와 즉시 호환되지 않는 것 같습니다. 다음은 내가 한 일입니다.

1) 프로그램에서 예상치 못한 오류가 발생했습니다. 다음과 같이 변경되었습니다 :

int main(int argc, char *argv[]) 
{ 
    NSAutoreleasePool *pool = [NSAutoreleasePool new]; 
    return UIApplicationMain(argc, argv, nil, NSStringFromClass([HFAppDelegate class])); 
} 

2) 예상 식별자.

return [[FBSession activeSession] handleOpenURL:url]; 
... 
    [[FBSession activeSession] close]; 

3) 프레임 워크

return [FBSession.activeSession handleOpenURL:url]; // error on this line 
... 
    [FBSession.activeSession close];      // error on this line 

을 대체 계정을 찾을 수 없습니다; 필요한 것은 아니기 때문에 Project Navigator의 Frameworks 그룹에서 프레임 워크를 삭제했습니다. 키워드 strong 알 수없는, 그래서 나는 다음과 같이 파일 FacebookSDK/FacebookSDK.h의 상단에 retain로 macro'd :

4) 나는 내 원래의 게시물에 말을 잊었

#define strong retain 

그리고 이제 HelloFacebookSample 앱은 오류나 경고없이 컴파일되며 정상적으로 작동합니다.Facebook 작업과의 모든 상호 작용.

앞으로 도움이되기를 바랍니다. 도움이된다면, 투표 해주세요!

0

저는 전문가는 아니지만 최선을 다할 것입니다.

첫 번째 오류는 @autoreleasepool을 사용하고 있기 때문입니다. 나는 이것이 자동 릴리즈 풀을위한 아주 새로운 구문이라고 생각한다. 가이 같은되기 전에 :

NSAutoreleasePool *pool; 
pool = [[NSAutoreleasePool alloc] init]; 
NSString *string; 
string = [[[NSString alloc] init] autorelease]; // NSString or any other allocated objects 
               // With autorelease tag 
/* use the string */ 
[pool drain]; 

당신은 주요 기능이 방법을 찾기 위해 X-코드 4.0.2와 아이폰 OS SDK에 대한 프로젝트를 봐야한다.

다른 오류가 발생했습니다. 사용중인 iOS SDK와 관련이 있다고 생각합니다. SDK 만 업데이트 할 수 있습니까? xcode를 업데이트하지 않고?

내가 뭔가를 찾으면

+0

안녕하세요, 고마워요. 실제로 이미 빌드 오류를 해결했습니다. Facebook SDK 3.0이 iOS 4.0 이상과 호환되며 4.3에 해당하므로 샘플 코드를 변경해야하는 이유가 혼란 스럽습니다! 따라서 연결 오류 일 뿐이며 Accounts.framework를 찾을 수 없기 때문입니다. 아무도 내가 그것을 어디에서 발견 할 수 있는지 안다? 나는 그것을 보았고 iOS 5.0과 함께 나온 것처럼 보였습니다. 그래서 Facebook SDK 3.0이 iOS 4.0 이상과 호환되는 이유는 무엇입니까? – Sam