我阅读并遵循了代号一手册中关于本机接口的高级主题部分的说明。我想将字符串传递到我的界面,以便我可以在我的应用程序的 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()
已经在内部调用了NSLog
或printf
。Apple改变了最新版本中回显日志记录的方式,并且在针对多代设备时跟踪所有内容有点混乱NSLog
因此不再在任何地方工作。
所做的代码很好,您看不到NSLog
输出的原因是因为Apple。您可以在此处查看我们对此的内部问题:https://github.com/codenameone/CodenameOne/issues/2166