Skip to content

ShareDialog in automatic/shareSheet mode always triggers sharerDidCancel with Facebook app 558.0.0 #3584

@dl-music-iOS

Description

@dl-music-iOS

Checklist before submitting a bug report

Xcode version

26.3

Facebook iOS SDK version

18.0.1, 18.0.3, and latest main branch (reproduced on all)

Dependency Manager

SPM

SDK Framework

Share

Goals

We want ShareDialog to work in .automatic mode and complete sharing successfully when the Facebook app is installed.

Expected results

When using ShareDialog with .automatic, sharing should complete successfully and call:

  • sharer(_:didCompleteWithResults:) on success
  • sharerDidCancel(_:) only when the user explicitly cancels

Actual results

With Facebook app version 558.0.0 installed, ShareDialog in .automatic mode consistently resolves to share sheet flow and ends with sharerDidCancel(_:).

Even though the Facebook app is installed, share completion callback is not received in this path.
No recent app-side logic changes were made before this started reproducing.

The same app behavior worked as expected with an older Facebook app version on the same device/setup.

Steps to reproduce

  1. Install Facebook app 558.0.0 on device.
  2. Use ShareDialog with .automatic mode.
  3. Trigger share from app (same content/flow that previously worked).
  4. Observe delegate callbacks.
  5. sharerDidCancel(_:) is called consistently in share sheet path.
  6. Replace with older Facebook app version and repeat: flow behaves as expected.

Code samples & details

// Current (problematic) usage
let dialog = ShareDialog(
    viewController: fbSDKDelegatableVC,
    content: content,
    delegate: fbSDKDelegatableVC
)
dialog.mode = .automatic
dialog.show()

Setting dialog.mode = .native works correctly in our environment, so we have applied the following workaround as a temporary mitigation:

// Workaround (works)
let dialog = ShareDialog(
    viewController: fbSDKDelegatableVC,
    content: content,
    delegate: fbSDKDelegatableVC
)
dialog.mode = if let fbURL = URL(string: "fb://"),
   UIApplication.shared.canOpenURL(fbURL) {
    .native
} else {
    .browser
}
dialog.show()

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions