title: Does the latest Facebook SDK automatically check if its app is installed? It says it will.... but its not happening for me
body: <p>I would like to provide the option to share a picture to Facebook.  When I have the FB app installed, I have no problem posting to my feed.  However, when no app is installed, I get the following error:</p>
  
  <blockquote>
    <p>-canOpenURL: failed for URL: "fbauth2:/" - error: "(null)"</p>
  </blockquote>
  
  <p>Facebook says in the docs I don't need to do anything:</p>
  
  <blockquote>
    <p>Now the SDK automatically checks for the native Facebook app. If it isn't installed, the SDK switches people to their default browser and opens the Feed Dialog. If someone wants to share an Open Graph story, the SDK opens the Web Share Dialog.</p>
  </blockquote>
  
  <p>One hack I found to check is the following:</p>
  
  <pre><code>BOOL isInstalled = [[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"fbauth2:/"]];
   if (isInstalled) {....}
  </code></pre>
  
  <p>Is there a better more 'correct' way?</p>
  
  <p>The method I use to share that throws the error is the following:</p>
  
  <pre><code>- (void)showFBShare {
  
  FBSDKSharePhoto *photo = [[FBSDKSharePhoto alloc] init];
  photo.image = self.shareImage;
  photo.userGenerated = YES;
  FBSDKSharePhotoContent *content = [[FBSDKSharePhotoContent alloc] init];
  content.photos = @[photo];
  
  [FBSDKShareDialog showFromViewController:self
                               withContent:content
                                  delegate:nil];
  }
  </code></pre>