MCLShareConfig

@interface MCLShareConfig : NSObject <NSCopying>

Pass this to -[Megacool presentShareWithConfig:] to configure how a share is performed.

Note

This class does not have atomic properties for efficiency, thus it’s not thread-safe.
  • Which recording to share. Will use default if nil.

    Declaration

    Objective-C

    @property (readwrite, strong, nonatomic, null_resettable) NSString *recordingId;

    Swift

    var recordingId: String! { get set }
  • Set the text to be shared on different channels. The user will usually have the ability to customize the message before sending.

    Declaration

    Objective-C

    @property (readwrite, strong, nonatomic, null_resettable) NSString *message;

    Swift

    var message: String! { get set }
  • A fallback to share if there are no frames in the given recording or something fails. Mutually exclusive with fallbackImage.

    Note that the filename of the file given here will be preserved when shared, thus f. ex when sharing to email this will be the name of the attached file.

    Declaration

    Objective-C

    @property (readwrite, strong, nonatomic, nullable) NSURL *fallbackImageUrl;

    Swift

    var fallbackImageUrl: URL? { get set }
  • A fallback to to share if there are no frames in the given recording or something fails. Mutually exclusive with fallbackImageUrl.

    Declaration

    Objective-C

    @property (readwrite, strong, nonatomic, nullable) UIImage *fallbackImage;

    Swift

    var fallbackImage: UIImage? { get set }
  • url

    Customize the url included in the share to navigate to a specific section of your app.

    The url given here can be extracted from the MCLLinkClickedEvent on the receiving side for navigation purposes.

    Note that only the path and query parameters will be respected. This will be combined with the MCLMegacoolConfig.baseUrl and the referral code to form the absolute url that will be shared. If set to f. ex [NSURL URLWithString:@"/level2?difficulty=ludicruous"], the absolute url will end up as https://<base-url>/level2?difficulty=ludicruous&_m=<referral-code>.

    Declaration

    Objective-C

    @property (readwrite, strong, nonatomic, nullable) NSURL *url;

    Swift

    var url: URL? { get set }
  • Additional data to include with the share. This will be available to the receiver in the receivedShareOpened event.

    Declaration

    Objective-C

    @property (readwrite, strong, nonatomic, nullable)
        NSDictionary<NSString *, NSObject *> *data;

    Swift

    var data: [String : NSObject]? { get set }
  • On iPads, which view should present the popover.

    Declaration

    Objective-C

    @property (readwrite, strong, nonatomic, nullable) UIView *popoverSourceView;

    Swift

    var popoverSourceView: UIView? { get set }
  • On iPads, where in the popoverSourceView the popover should be presented.

    Declaration

    Objective-C

    @property (assign, readwrite, nonatomic) CGRect popoverSourceRect;

    Swift

    var popoverSourceRect: CGRect { get set }
  • On which sides of the popover the source arrow should be placed. This can be used to force the popover to be over or under the popoverSourceRect.

    XOR the permitted locations together. Defaults to UIPopoverArrowDirectionAny.

    Declaration

    Objective-C

    @property (assign, readwrite, nonatomic)
        UIPopoverArrowDirection popoverPermittedArrowDirections;

    Swift

    var popoverPermittedArrowDirections: UIPopoverArrowDirection { get set }
  • Set sharing strategy.

    What type of data should be prioritized when sharing to channels that support @em either media @em or links.

    Declaration

    Objective-C

    @property (assign, readwrite, nonatomic) MCLSharingStrategy strategy;

    Swift

    var strategy: MCLSharingStrategy { get set }