iOS 上的 Facebook 分享适用于某些设备,但不适用于其他设备

Facebook sharing on iOS works on some devices, but not others

所以我只是在我的应用程序中做一个基本的 facebook 分享,它在我的设备上运行良好(iPhone 6 OS 9.1 和 iPad air 9.02)但不不适合我的同事 iPad Air 2 8.4.1 或 iPhone 6 Plus 9.1。有人知道为什么会这样吗?

他们在设备设置中登录了 facebook。他们还安装了 facebook 应用程序(我没有应用程序,只是通过设置登录)

这是我的设备显示要分享的消息的屏幕截图,其他设备只显示图像而没有文字。

这是我用来分享的代码

- (void)shareTapped {
    UIImage *image = self.pictureView.image;

    NSString *postText = [NSString stringWithFormat:@"%@\n*%@\n%@\n%@, %@ %@", self.event.shortDescription, self.event.eventCode, self.event.address, self.event.city, self.event.state, self.event.zip];
    [[UtilitiesObject sharedInstance] shareMessage:postText image:image parentVC:self];
}

- (void)shareMessage:(NSString *)msg image:(UIImage *)image parentVC:(UIViewController *)parentVC {
    NSArray *activityItems = @[msg];
    if (image) {
        activityItems = @[msg, image];
    }

    UIActivityViewController *activityController = [[UIActivityViewController alloc] initWithActivityItems:activityItems applicationActivities:nil];

    // Tailor the list of services displayed
    activityController.excludedActivityTypes = @[UIActivityTypeAssignToContact,
                                             //UIActivityTypePostToFacebook,
                                             //UIActivityTypePostToTwitter,
                                             //UIActivityTypeMail,
                                             UIActivityTypeMessage,
                                             UIActivityTypeSaveToCameraRoll,
                                             UIActivityTypePrint,
                                             UIActivityTypePostToWeibo,
                                             UIActivityTypeCopyToPasteboard];

    activityController.popoverPresentationController.sourceView = parentVC.view;

        [activityController setCompletionWithItemsHandler:
 ^(NSString *activityType, BOOL completed, NSArray *returnedItems, NSError *activityError) {
         if ([activityType isEqualToString: UIActivityTypeMail]) {
             NSLog(@"Mail");
         }
         if ([activityType isEqualToString:UIActivityTypePostToFacebook]) {
             NSLog(@"Facebook");
         }
         if ([activityType isEqualToString:UIActivityTypePostToTwitter]) {
             NSLog(@"Twitter");
         }
     }];

    [parentVC presentViewController:activityController animated:YES completion:nil];
}

Facebook 的平台政策不允许应用预填充消息字段。在这种情况下,因为您没有 Facebook 应用程序,它使用的是 Apple 的共享 sheet,它允许预填充但违反了 FB 的平台政策。在您朋友的情况下,他们可能会看到 Facebook 应用的共享扩展,它正确执行了政策,并且不允许预填充。