iOS: support swift plugin and library

This commit is contained in:
pengfei.zhou
2023-07-07 18:31:06 +08:00
committed by jingpeng
parent e981944352
commit 01b30f48bb
7 changed files with 110 additions and 9 deletions

View File

@@ -85,7 +85,7 @@ - (void)command:(NSDictionary *)argument withPromise:(DoricPromise *)promise {
}
- (id)createParamWithMethodName:(NSString *)method promise:(DoricPromise *)promise argument:(id)argument {
if ([method isEqualToString:@"withPromise"]) {
if ([method isEqualToString:@"withPromise"] || [method isEqualToString:@"promise"]) {
return promise;
}
return argument;
@@ -99,7 +99,11 @@ - (void)findClass:(Class)clz target:(id)target method:(NSString *)name promise:(
NSString *methodName = [NSString stringWithCString:sel_getName(method_getName(methods[i])) encoding:NSUTF8StringEncoding];
NSArray *array = [methodName componentsSeparatedByString:@":"];
if (array && [array count] > 0) {
if ([array[0] isEqualToString:name]) {
NSString *firstPart = array[0];
if (![firstPart isEqualToString:name]) {
firstPart = [firstPart componentsSeparatedByString:@"With"][0];
}
if ([firstPart isEqualToString:name]) {
isFound = YES;
SEL selector = NSSelectorFromString(methodName);
NSMethodSignature *methodSignature = [target methodSignatureForSelector:selector];