Posts iOS9 / Xcode7에서 Facebook등 다른 app의 URL Scheme 호출 실패
Post
Cancel

iOS9 / Xcode7에서 Facebook등 다른 app의 URL Scheme 호출 실패

iOS의 social / account framework을 이용한 페이스북 로그인 구현시 다음과 같은 상황이 발생하였다.
fb://로 시작하는 url에 접속 가능한지 여부, 즉 Facebook app이 설치되었는지 확인하려고 다음의 코드를 호출하였다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
-(BOOL) functionName {
    if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"fb://]]) {
        NSString *urlString = request.URL.absoluteString;
        
        if ([@https://m.facebook.com/plugins/login_success.php" isEqualToString:urlString]) {
            [self accountStore];
            
            return NO;
        }
        
        return YES:
    }
    
    return YES;
}

하지만 아래와 같은 오류 메세지를 줄기차게 뱉어냈다.

2015-08-24 21:57:23.219 meerkat[277:20308] -canOpenURL: failed for URL: “fb://” – error: “This app is not allowed to query for scheme fb”

이는 iOS9으로 변경되면서 바뀐 정책으로 info.plist에 다음과 같은 항목을 추가하여야 한다.

Info.plist-Property list로 본 화면

Info.plist-Source code로 본 화면

주의할 점은 연결하고자 하는 app의 custom url scheme에서 ://를 제외하고 입려하여야 한다는 것이다. 위의 갈무리 화면은 facebook app이다.

This post is licensed under CC BY 4.0 by the author.