如何解决在本机脚本带有打字稿项目中使用obj-c类时的编组设置
按照https://nativescript.org/blog/adding-objective-c-code-to-a-nativescript-app/上的说明进行操作,我建立了一个非常简单的本机脚本项目(在其下方有打字稿):
- tns创建simpleApp --tsc
- tns平台添加ios
- tns准备ios
- 通过xcode运行生成的ios项目。
该应用正常运行。
接下来,我向项目添加了一个自定义obj-c类(App_Resources / iOS / src / Stuff .h和.m):
#import <Foundation/Foundation.h>
@interface Stuff: NSObject
+(void)doStuff;
@end
#import "Stuff.h"
@implementation Stuff
+(void)doStuff {
NSLog(@"I should see this...");
}
@end
还有一个module.modulemap:
module Stuff {
header "Stuff.h"
export *
}
tns prapare ios
命令成功处理了该类。
当我尝试将'Stuff'对象添加到打字稿源时,我得到了cannot find name Stuff
。
我如何获得打字稿和obj-c之间的编组/元数据?我需要运行一些脚本吗?添加进口?本教程未提及任何内容...
这是我添加到nativescript默认模板应用程序中的内容:
onTap() {
this._counter--;
this.updateMessage();
Stuff.doStuff();
}
并希望在点击按钮时看到日志文本...
解决方法
我找到了一种将所需的.d.ts文件添加到项目中的方法: generating-typescript-typings
在您的nativescript项目的src-root中运行以下命令:
TNS_TYPESCRIPT_DECLARATIONS_PATH="$(pwd)/typings" tns build ios
它会生成一个类型文件夹,其中包含ios类的所有.d.ts文件,包括手动创建的Stuff类。现在已经正确解释了Typescript代码...上面的行处理完新的obj-c类后,就可以在TS代码中对其进行寻址。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。