如何在代号中实现 NSLog 一个本机接口



我阅读并遵循了代号一手册中关于本机接口的高级主题部分的说明。我想将字符串传递到我的界面,以便我可以在我的应用程序的 iOS 版本中记录事件,但无法看到我的日志。

这是我的代码:

InterfaceLogger interfaceLogger = NativeLookup.create(InterfaceLogger.class);
if (interfaceLogger != null && interfaceLogger.isSupported()) {
            interfaceLogger.logThis("hello!");
}

这是我在native文件夹中的iOS实现代码:

.h 文件:

#import <Foundation/Foundation.h>
@interface org_myapp_app_cn1_InterfaceLoggerImpl : NSObject {
}
-(void)logThis:(NSString*)param;
-(BOOL)isSupported;
@end

**

.m 文件:

#import "org_myapp_app_cn1_InterfaceLoggerImpl.h"
@implementation org_myapp_app_cn1_InterfaceLoggerImpl
-(void)logThis:(NSString*)param{
    NSLog(@"%@", param);
}
-(BOOL)isSupported{
    return YES;
}
@end

请帮忙。

谢谢。

我不确定你为什么需要它,因为Log.p()已经在内部调用了NSLogprintf。Apple改变了最新版本中回显日志记录的方式,并且在针对多代设备时跟踪所有内容有点混乱NSLog因此不再在任何地方工作。

不过,您

所做的代码很好,您看不到NSLog输出的原因是因为Apple。您可以在此处查看我们对此的内部问题:https://github.com/codenameone/CodenameOne/issues/2166

最新更新