Hans Hans - 1 year ago 138
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>)

Answer Source

Add these lines from FBSDKSharingContent to FBSDKShareLinkContent:

procedure setContentURL(contentURL: NSURL); cdecl;
function contentURL: NSURL; cdecl;
Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download