私はiOS SDKをバインドしています。どのようにバインドするObjective-Cライブラリとプロトコルとインターフェイスは同じ名前です
[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; }
}
最後に、私はランタイム時例外を得た。しかし、この
@interface ALBBQuPaiService : NSObject<ALBBQuPaiService>
について混乱Sharpie
は最後ALBBQuPaiService
は、私はこのようなApiDefinitionコードを変更しようとしました@protocol ALBBQuPaiService
です:インスタンスに送信された認識できないセレクタ0x7c73f740
どのような体は私を助けることができますか?前もって感謝します。
マイSDK link
------------------- アップデート1:ヘッダファイルのコードを追加します ----------- --------------
#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
ありがとうございますが、私は上記のすべてを試しました。そして私の問題は、 'sharpie'混乱した 'ALBBQuPaiService'は、プロトコルとインターフェイスです。だから私はこれを手動で変更する方法を知らない。 –