2012-01-19 2 views
1

MacOSX 10.6을 사용하고 Xcode 시뮬레이터는 4.2이지만 최선을 다해서 구현 한 appdelegate.m 파일에서 handleOpenURL이 호출되지 않습니다. 나는 DropBox 사이트 (DropBox Tutorial)에서 주어진 지침서의 모든 지시 사항을 따라 왔으며,DropBox SDK를 사용하는 iPhone 응용 프로그램에 handOpenURL이 호출되지 않습니다.

사용자가 사 용자가 내 응용 프로그램에 액세스 할 수있게 한 후에 사파리를 통해 보관 용 계정에서 로그인하면 제어 도구가 내 " DropBox "보기, 즉 사용자가 로그인 할 수있는보기를 표시합니다.

문제는 handleOpenURL 메서드가 호출되지 않고 didfinishWithLaunchingOptions 메서드도 호출되지 않습니다. 여러 포럼에서 동일한 주제와 관련된 게시물을 보았습니다. 후자 (didfinishWithLaunchingOptions) 메소드를 구현하면 handleOpenWithURL이 호출되지 않습니다. 그렇습니까?

내 코드에서 오류를 발견하는 데 도움주세요.이 분야의 초보자이며,이 점에 관해 귀하의 도움에 정말로 감사하겠습니다. 다음

appdelegate.m 파일

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 
    NSLog(@"Inside didfinishwithoptions"); 
    DBSession* dbSession = [[[DBSession alloc] initWithAppKey:@"APP-KEY" 
               appSecret:@"APP-SECRET" 
                root:kDBRootAppFolder] // either kDBRootAppFolder or kDBRootDropbox 
         autorelease]; 
    [DBSession setSharedSession:dbSession]; 
    // Override point for customization after application launch. 

    // Add the view controller's view to the window and display. 
    [self.window addSubview:viewController.view]; 
    [self.window makeKeyAndVisible]; 

    return YES; 
} 

- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url 
{ 
    NSLog(@"Inside handleOpenURL"); 
    return NO; 
} 

답변

2

내가 나중에 아이폰 OS 4.2 이상 목표를 설정할 때 application:handleOpenURL:가 호출되지 않는다는 생각에서 코드입니다. 대신 application:openURL:sourceApplication:annotation:을 사용하십시오.

UIApplicationDelegate docs의 기타.

UPDATE :
당신이 응용 프로그램의 PLIST 파일에 CFBundleURLTypes 항목을 다시 한 번 확인 했습니까? ,

DBSession* dbSession = [[[DBSession alloc] initWithAppKey:@"something" appSecret:@"APP_SECRET" root:ACCESS_TYPE] autorelease]; 

만약 위의 도움이되지 않습니다

<key>CFBundleURLTypes</key> 
<array> 
    <dict> 
    <key>CFBundleURLName</key> 
    <string>DropBoxURLScheme</string> 
    <key>CFBundleURLSchemes</key> 
    <array> 
     <string>db-something</string> 
    </array> 
    </dict> 
</array> 

당신이 (위의 "무언가"일부 앱 키로 사용되는 것을 주) 세션을 초기화하기보다 : 그것은 그런 일을 좋아한다 당신은 틀린 뭔가 다른 일을해야합니다. 그런 다음 DropBox의 자습서를 더 자세히 따르십시오.