Hans Hans - 1 month ago 7x
iOS Question

Delphi: How to fix wrong SdkTransformAssistant iOS header conversion?

The headers for the Facebook SDK has been converted using SDKTransformAssistant in this repository.
Unfortunately, they have not been converted correctly by the tool.

is supposed to inherit from
so it contains the property
, but it doesn't.

What is the correct way to fix the pascal header?

The Objective C headers:

@protocol FBSDKSharingContent <FBSDKCopying, NSSecureCoding>
@property (nonatomic, copy) NSURL *contentURL;
@property (nonatomic, copy) FBSDKHashtag *hashtag;
@property (nonatomic, copy) NSArray *peopleIDs;
@property (nonatomic, copy) NSString *placeID;
@property (nonatomic, copy) NSString *ref;

@interface FBSDKShareLinkContent : NSObject <FBSDKSharingContent>
@property (nonatomic, copy) NSString *contentDescription;
@property (nonatomic, copy) NSString *contentTitle;
@property (nonatomic, copy) NSString *contentTitle;
@property (nonatomic, copy) NSURL *imageURL;
@property (nonatomic, copy) NSString *quote;
- (BOOL)isEqualToShareLinkContent:(FBSDKShareLinkContent *)content;

How they are currently converted:

FBSDKSharingContent = interface(IObjectiveC)
procedure setContentURL(contentURL: NSURL); cdecl;
function contentURL: NSURL; cdecl;
procedure setHashtag(hashtag: FBSDKHashtag); cdecl;
function hashtag: FBSDKHashtag; cdecl;
procedure setPeopleIDs(peopleIDs: NSArray); cdecl;
function peopleIDs: NSArray; cdecl;
procedure setPlaceID(placeID: NSString); cdecl;
function placeID: NSString; cdecl;
procedure setRef(ref: NSString); cdecl;
function ref: NSString; cdecl;

FBSDKShareLinkContent = interface(NSObject)
procedure setContentDescription(contentDescription: NSString); cdecl;
function contentDescription: NSString; cdecl;
procedure setContentTitle(contentTitle: NSString); cdecl;
function contentTitle: NSString; cdecl;
procedure setImageURL(imageURL: NSURL); cdecl;
function imageURL: NSURL; cdecl;
procedure setQuote(quote: NSString); cdecl;
function quote: NSString; cdecl;
function isEqualToShareLinkContent(content: FBSDKShareLinkContent): Boolean; cdecl;

TFBSDKShareLinkContent = class(TOCGenericImport<FBSDKShareLinkContentClass, FBSDKShareLinkContent>)


Add these lines from FBSDKSharingContent to FBSDKShareLinkContent:

procedure setContentURL(contentURL: NSURL); cdecl;
function contentURL: NSURL; cdecl;