在本机脚本(带打字稿)项目中使用 obj-c class 时的编组设置
Marshalling setup when using obj-c class in nativescript (with typescript) project
按照 https://nativescript.org/blog/adding-objective-c-code-to-a-nativescript-app/ 上的说明,我设置了一个非常简单的 nativescript 项目(下面有打字稿):
- tns 创建 simpleApp --tsc
- tns平台添加ios
- tns 准备 ios
- 运行 通过 xcode.
生成的 ios 项目
应用 运行正确。
接下来我向项目中添加了一个自定义 obj-c class(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
命令成功处理了 class。
当我尝试将 'Stuff' 对象添加到打字稿源时,我得到一个 cannot find name Stuff
。
如何让 typescript 和 obj-c 之间的 marshalling/metadata 正常工作?我需要 运行 一些脚本吗?添加进口?本教程没有提及任何有关...
这是我添加到 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
它生成一个 typings 文件夹,其中包含 ios class 的所有 .d.ts 文件,包括手动创建的 Stuff class。现在可以正确解释 Typescript 代码...新的 obj-c classes 一旦被上面的行处理,就可以在 TS 代码中寻址。
按照 https://nativescript.org/blog/adding-objective-c-code-to-a-nativescript-app/ 上的说明,我设置了一个非常简单的 nativescript 项目(下面有打字稿):
- tns 创建 simpleApp --tsc
- tns平台添加ios
- tns 准备 ios
- 运行 通过 xcode. 生成的 ios 项目
应用 运行正确。
接下来我向项目中添加了一个自定义 obj-c class(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
命令成功处理了 class。
当我尝试将 'Stuff' 对象添加到打字稿源时,我得到一个 cannot find name Stuff
。
如何让 typescript 和 obj-c 之间的 marshalling/metadata 正常工作?我需要 运行 一些脚本吗?添加进口?本教程没有提及任何有关...
这是我添加到 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
它生成一个 typings 文件夹,其中包含 ios class 的所有 .d.ts 文件,包括手动创建的 Stuff class。现在可以正确解释 Typescript 代码...新的 obj-c classes 一旦被上面的行处理,就可以在 TS 代码中寻址。