- Creator 版本: 3.6.2
- 目标平台: IOS
- 手机型号: iphone 15
- 编辑器操作系统: mac mini m2
游戏倒没有闪退,但是调用无返回,控制台有报错信息,同样的函数调用在Android中正常执行并返回了,不知道哪里少配置了还是写错了,有知道的大神麻烦帮回答下,感谢!
控制台报错:
[ERROR]: [SE_ERROR] (/Users/qtz/Work/h5/engine/native/cocos/bindings/manual/JavaScriptObjCBridge.mm, 326): call (AppUtils.getVersionName) failed, result code: -2
TS代码:
if (NATIVE && sys.os == sys.OS.IOS) {
let versionName = native.reflection.callStaticMethod("AppUtils", "getVersionName", "");
console.log(`app version: ${versionName}`)
} else if (NATIVE && sys.os == sys.OS.ANDROID) {
let versionName = native.reflection.callStaticMethod("com/cocos/lib/AppUtils", "getVersionName", "()Ljava/lang/String;");
console.log(`app version: ${versionName}`)
}
IOS 工程中确定已经在 compile souces 中包含这个类的编译
AppUtils.h:
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
@interface AppUtils : NSObject
+(NSString*) getVersionCode;
+(NSString*) getVersionName;
@end
NS_ASSUME_NONNULL_END
AppUtils.mm
#import "AppUtils.h"
@implementation AppUtils
+(NSString *) getVersionCode{
NSLog(@"call getVersionCode");
// 省略
return @"1";
}
+(NSString*) getVersionName{
NSLog(@"call getVersionName");
// 省略
return @"1.0.0";
}
@end
啊