Skip to content
Fresh 2026

Facebook Sharing to Reels From iOS

You can integrate sharing into your iOS app so that users can share video content to Reels on Facebook. To create a new app, see Getting Started with the Facebook SDK for iOS.

You must publish your app live before users can share content. For more information, see Live Mode.

Reel Layers

The Reels composer has a background video layer and an optional sticker layer.

  • Background Video Layer-A video fills the screen.
  • Sticker Layer-An optional sticker can appear in front of the video.

Download the Sharing Icon

For a consistent user experience across apps, download the standard sharing icon for Facebook Reels and use it in your app.

IconDownload Link
!Link

Data

You send the following data when you share to Reels.

DataTypeDescriptionRequired
Facebook App IDNSString *Your Facebook App ID.Yes
Background VideoNSURL *The URL for a video. Videos can be 1080p and should be between 3 and 60 seconds in duration. Acceptable video formats are H.264, H.265, and WebM. Under 50 MB is recommended.Yes
Sticker AssetNSURL *The URL for an image that is a local file on the user's device. Acceptable image formats are JPG and PNG, and the recommended dimensions are 640 x 480. The image appears over the video.No

Implement Sharing to Facebook

You use a custom URL scheme to launch the Facebook app and send it content for Reels. The Facebook app receives the content, loads it in the Reels composer, and the user can edit and publish the content to their Facebook Reels.

In general, your sharing flow does the following:

  1. Verify that your app can resolve Facebook's custom URL scheme.
  2. Attach content to the pasteboard that you want to share.
  3. Resolve the custom URL scheme if your app is able to.

Remove any temporary files that you create on the user's device.

Configure Your App for Sharing

Before you can implement sharing in your app, add your app ID and register Facebook's custom URL scheme in the Info.plist file for your app. Add facebook-reels to the LSApplicationQueriesSchemes key. For details, see Configure Your Project.

Example

The following code example sends a video to Facebook so the user can edit and publish it to their Facebook Reels.

cc
- (void)shareBackgroundVideo
{
  // Identify your App ID
  NSString *const appIDString = @"1234567890";

  // Identify your video content
  NSURL *const backgroundVideoURL = [[NSBundle bundleForClass:[self class]]URLForResource:@"your-video-url-goes-here" withExtension:@"mp4"];
  NSData *const backgroundVideoData = [NSData dataWithContentsOfURL:backgroundVideoURL];

  // Call method to share video
  [self backgroundVideo: backgroundVideoData\
        appID: appIDString];
}

// Method to share video
- (void)backgroundVideo:(NSData *)backgroundVideo
        appID:(NSString *)appID
{
  NSURL *urlScheme = [NSURL URLWithString:@"facebook-reels://share"];

  if ([[UIApplication sharedApplication] canOpenURL:urlScheme])
  {
    // Add background video to pasteboard items
    NSArray *pasteboardItems = @[@{@"com.facebook.sharedSticker.backgroundVideo" : backgroundVideo,\
                                   @"com.facebook.sharedSticker.appID" : appID}];

    // Set pasteboard options
    NSDictionary *pasteboardOptions = @{UIPasteboardOptionExpirationDate : [[NSDate date] dateByAddingTimeInterval:60 * 5]};

    // Attach the pasteboard items
    // This call is iOS 10+, can use 'setItems' depending on what versions you support
    [[UIPasteboard generalPasteboard] setItems:pasteboardItems options:pasteboardOptions];

    [[UIApplication sharedApplication] openURL:urlScheme options:@{} completionHandler:nil];
  }
  else
  {
     // Handle error cases
  }
}

Example With Sticker

The following code example sends a video to Facebook so the user can edit and publish it to their Facebook Reels, and includes an optional sticker.

cc
- (void)shareBackgroundVideo
{
  // Identify your App ID
  NSString *const appIDString = @"1234567890";

  // Identify your video content
  NSURL *const backgroundVideoURL = [[NSBundle bundleForClass:[self class]]URLForResource:@"your-video-url-goes-here" withExtension:@"mp4"];
  NSData *const backgroundVideoData = [NSData dataWithContentsOfURL:backgroundVideoURL];

  // Identify your sticker content
  NSURL *const stickerImageURL = [[NSBundle bundleForClass:[self class]]URLForResource:@"your-sticker-url-goes-here" withExtension:@"png"];
  NSData *const stickerImageData = [NSData dataWithContentsOfURL:stickerImageURL];

  // Call method to share video
  [self backgroundVideo: backgroundVideoData\
        stickerImage: stickerImageData\
        appID: appIDString];
}

// Method to share video with sticker
- (void)backgroundVideoWithSticker:(NSData *)backgroundVideo
        stickerImage:(NSData *)stickerImage
        appID:(NSString *)appID
{
  NSURL *urlScheme = [NSURL URLWithString:@"facebook-reels://share"];

  if ([[UIApplication sharedApplication] canOpenURL:urlScheme])
  {
    // Add background video, sticker, and appID to pasteboard items
    NSArray *pasteboardItems = @[@{@"com.facebook.sharedSticker.backgroundVideo" : backgroundVideo,\
                                   @"com.facebook.sharedSticker.stickerImage" : stickerImage,\
                                   @"com.facebook.sharedSticker.appID" : appID}];

    // Set pasteboard options
    NSDictionary *pasteboardOptions = @{UIPasteboardOptionExpirationDate : [[NSDate date] dateByAddingTimeInterval:60 * 5]};

    // Attach the pasteboard items
    // This call is iOS 10+, can use 'setItems' depending on what versions you support
    [[UIPasteboard generalPasteboard] setItems:pasteboardItems options:pasteboardOptions];

    [[UIApplication sharedApplication] openURL:urlScheme options:@{} completionHandler:nil];
  }
  else
  {
     // Handle error cases
  }
}

See Also

  • Reels Developer Documentation
  • Facebook Sharing to Reels from Android