我阅读并遵循Codename One手册的高级主题section on Native Interfaces中的说明。我想将Strings传递给我的界面,以便我可以在我的应用程序的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
请帮忙。
感谢。
答案 0 :(得分:1)
由于Log.p()
已在内部调用NSLog
或printf
,我不确定您为什么需要这样做。 Apple改变了日志版本在最近版本中回应的方式,并且在针对多个设备生成时跟踪所有内容时变得有点混乱,因此NSLog
不再适用于任何地方。
你所做的代码就好了,你看不到NSLog
输出的原因是因为Apple。您可以在此处查看我们的内部问题:https://github.com/codenameone/CodenameOne/issues/2166