I'm binding a iOS SDK. But the Sharpie
confused about this
@interface ALBBQuPaiService : NSObject<ALBBQuPaiService>
The last ALBBQuPaiService
is @protocol ALBBQuPaiService
I have tried to change ApiDefinition code like this:
[Protocol(Name = "ALBBQuPaiService"), Model]
interface ALBBQuPaiServiceProtocol
{
...
}
[BaseType (typeof(NSObject), Name = "ALBBQuPaiService")]
interface ALBBQuPaiService : ALBBQuPaiServiceProtocol
{
// +(instancetype)sharedService;
[Static]
[Export ("sharedService")]
ALBBQuPaiService SharedService ();
// @property (nonatomic, weak) id<QupaiSDKDelegate> _Nullable delegte;
[NullAllowed, Export ("delegte", ArgumentSemantic.Weak)]
QupaiSDKDelegate Delegte { get; set; }
}
Finally, I got runtime time exception: unrecognized selector sent to instance 0x7c73f740
Any body can help me? Thanks in advance.
My SDK link
------------------- Update 1: add header file code -------------------------
#import <Foundation/Foundation.h>
typedef NS_ENUM(NSInteger,QupaiSDKWatermarkPosition){
QupaiSDKWatermarkPositionTopRight,
QupaiSDKWatermarkPositionBottomRight,
};
typedef NS_ENUM(NSInteger,QupaiSDKCameraPosition){
QupaiSDKCameraPositionBack,
QupaiSDKCameraPositionFront,
};
@protocol QupaiSDKDelegate;
@protocol ALBBQuPaiService
-(NSString *) getSdkConfigVersion:(NSString *) platformName
sdkVersion:(NSString *) sdkVersion;
-(void) getSdkConfigVersion:(NSString *) platformName
sdkVersion:(NSString *) sdkVersion
success:(void (^)(NSString *rpcResult))success
failure:(void (^)(NSError *rpcError))failure;
@property (nonatomic, weak) id<QupaiSDKDelegate> delegte;
@property (nonatomic, assign) BOOL enableBeauty;
@property (nonatomic, assign) BOOL enableImport;
@property (nonatomic, assign) BOOL enableMoreMusic;
@property (nonatomic, assign) BOOL enableVideoEffect;
@property (nonatomic, assign) BOOL enableWatermark;
@property (nonatomic, assign) CGFloat thumbnailCompressionQuality;
@property (nonatomic, strong) UIColor *tintColor;
@property (nonatomic, strong) UIImage *watermarkImage;
@property (nonatomic, assign) QupaiSDKWatermarkPosition watermarkPosition;
@property (nonatomic, assign) QupaiSDKCameraPosition cameraPosition;
- (UIViewController *)createRecordViewControllerWithMinDuration: (CGFloat)minDuration
maxDuration:(CGFloat)maxDuration
bitRate:(CGFloat)bitRate;
- (UIViewController *)createRecordViewController;
- (void)updateMoreMusic;
@end
@protocol QupaiSDKDelegate <NSObject>
- (void)qupaiSDK:(id<ALBBQuPaiService>)sdk compeleteVideoPath:(NSString *)videoPath thumbnailPath:(NSString *)thumbnailPath;
@optional
- (NSArray *)qupaiSDKMusics:(id<ALBBQuPaiService>)sdk;
- (void)qupaiSDKShowMoreMusicView:(id<ALBBQuPaiService>)sdk viewController:(UIViewController *)viewController;
@end
@interface ALBBQuPaiService : NSObject<ALBBQuPaiService>
+(instancetype)sharedService;
@property (nonatomic, weak) id<QupaiSDKDelegate> delegte;
@end