Ich bin ein iOS SDK verbindlich. Aber die Sharpie
verwirrt über diesesWie Objective-C-Bibliothek mit Protokoll und Schnittstelle binden denselben Namen haben
@interface ALBBQuPaiService : NSObject<ALBBQuPaiService>
Der letzte ALBBQuPaiService
ist @protocol ALBBQuPaiService
ich versucht habe ApiDefinition Code wie folgt zu ändern:
[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; }
}
Schließlich bekam ich Ausnahme Laufzeit Zeit : nicht erkannter Selektor an Instanz 0x7c73f740 gesendet
Jeder Körper kann mir helfen? Danke im Voraus.
Mein SDK link
------------------- Update 1: Header-Datei Code hinzufügen ----------- --------------
#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
Danke, aber ich habe alle diese oben genannten versucht. Und mein Problem ist 'Sharpie', verwirrt '' ALBBQuPaiService', ist ein Protokoll und eine Schnittstelle. Also ich weiß nicht, wie man das manuell ändert. –