[LayaNative 2.0][闪退!!!][崩溃!!Crash]LayaNative 2.8.0 js 调用 oc 同步方法,有返回值的时候崩溃
附件上传一直提示失败,复现工程 ts代码 加 oc 代码 传百度云了:链接:https://pan.baidu.com/s/1UwniVdD-KQKbjv56s5RYiw
提取码:1111
复制这段内容后打开百度网盘手机App,操作更方便哦
问题:我在oc层写了个获取电量 和 获取系统剪切板的方法。然后js层通过native调用,我发现调用这两个方法的会后,app突然奔溃了。
ts代码中我注释了获取剪切板类容的代码,保留了同步获取电量信息的方法调用。一下子就奔溃了。希望官网帮忙看看。感激不尽。
提取码:1111
复制这段内容后打开百度网盘手机App,操作更方便哦
问题:我在oc层写了个获取电量 和 获取系统剪切板的方法。然后js层通过native调用,我发现调用这两个方法的会后,app突然奔溃了。
ts代码中我注释了获取剪切板类容的代码,保留了同步获取电量信息的方法调用。一下子就奔溃了。希望官网帮忙看看。感激不尽。
没有找到相关结果
已邀请:
要回复问题请先登录
12 个回复
唐家灬三少
赞同来自: devx
130*****753
赞同来自:
130*****753
赞同来自:
return s;
app必定奔溃。
而直接返回
return @"哈哈哈";
则不会奔溃。
devx
赞同来自:
devx
赞同来自:
2020-12-10 19:03:43.642443+0800 layabox[1694:38272] xhr.get url=http://192.168.31.159:8900/bin/prefab/DropBox.json
2020-12-10 19:03:43.649089+0800 layabox[1694:38272] found the file in the package:b2c6176d
2020-12-10 19:03:47.362020+0800 layabox[1694:38272] -------------开始测试js call oc ------------------
2020-12-10 19:03:47.362549+0800 layabox[1694:38272] JSBridge getCurrentElectricQuantity []
2020-12-10 19:03:47.363139+0800 layabox[1694:38272] method return type @
2020-12-10 19:03:47.363832+0800 layabox[1694:38272] JSRuntime::callMethod {
"v" : "{\"msg\":\"获取成功\",\"data\":{\"level\":0.94999999999999996,\"state\":1},\"code\":1}"
}
2020-12-10 19:03:47.364409+0800 layabox[1694:38272] 测试 js获取到电量信息:{"msg":"获取成功","data":{"level":0.94999999999999996,"state":1},"code":1}
2020-12-10 19:03:48.108975+0800 layabox[1694:38272] -------------开始测试js call oc ------------------
2020-12-10 19:03:48.109688+0800 layabox[1694:38272] JSBridge getCurrentElectricQuantity []
2020-12-10 19:03:48.110664+0800 layabox[1694:38272] *** -[CFString release]: message sent to deallocated instance 0x600001940000
devx
赞同来自:
+(NSString *)bgColor:(NSString*)color
{
NSString *str = @"hahahahahaha";
NSDictionary *dict = @ {
@"code" : @(1),
@"msg": @"获取成功",
@"data": @ {
@"level": @(0.95),
@"state" :@(1)
}
};
NSString *res = [JSBridge convertToJsonData:dict];
dispatch_async(dispatch_get_main_queue(), ^{
AppDelegate * appDelegate = (AppDelegate*)[UIApplication sharedApplication].delegate;
[appDelegate.launchView setBackgroundColor:color];
});
return res;
}
+ (NSString *)convertToJsonData:(NSDictionary *)dict
{
NSError *error;
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:dict options:NSJSONWritingPrettyPrinted error:&error];
NSString *jsonString;
if (!jsonData) {
NSLog(@"%@",error);
} else {
jsonString = [[NSString alloc]initWithData:jsonData encoding:NSUTF8StringEncoding];
}
NSMutableString *mutStr = [NSMutableString stringWithString:jsonString];
NSRange range = {0,jsonString.length};
//去掉字符串中的空格
[mutStr replaceOccurrencesOfString:@" " withString:@"" options:NSLiteralSearch range:range];
NSRange range2 = {0,mutStr.length};
//去掉字符串中的换行符
[mutStr replaceOccurrencesOfString:@"\n" withString:@"" options:NSLiteralSearch range:range2];
return mutStr;
}
devx
赞同来自:
唐家灬三少
赞同来自:
130*****753
赞同来自:
唐家灬三少
赞同来自:
这个是在github上最新的,我也是根据 184*****872 这位大佬的提示去看的,果然是做了改变,只是没看到有官方说明,,而且我还是用的1.x版本这些改动根本就没有也没有对应说明, 我这更蛋疼,你去github下载2.x版本 NAtive就行
唐家灬三少
赞同来自:
1631504294用户
赞同来自: