gpt4 book ai didi

ios - 使用 IOS 静态库问题创建 NativeScript 插件

转载 作者:行者123 更新时间:2023-11-28 21:00:44 24 4
gpt4 key购买 nike

我已经创建了一个静态库(在 Xcode 中针对 native ios 项目进行了测试并且工作正常)现在我正在关注这个 https://github.com/NativeScript/nativescript-plugin-seed使用 .a 静态框架创建 nativescript 插件。

插件结构 enter image description here

module.modulemap 文件是我创建的,它看起来像这样

module libstaticlibrary {
umbrella header "staticlibrary.h"
export *
}

静态库.h

#import <Foundation/Foundation.h>

@interface staticlibrary : NSObject
+ (NSString *)sayHello;
@end

libstaticlibrary.d.ts也是我创建的

declare class staticlibrary extends NSObject {

static sayHello():string;

}

然后在 helloplugin.common.ts 中,我尝试访问 staticlibrary.sayHello() 方法。

export class Utils {
public static SUCCESS_MSG(): string {
// let msg = `Your plugin is working on ${app.android ? 'Android' : 'iOS'}.`;
let msg = staticlibrary.sayHello();

setTimeout(() => {
dialogs.alert(`${msg} For real. It's really working :)`).then(() => console.log(`Dialog closed.`));
}, 2000);

return msg;
}

我遇到以下错误。

node_modules/nativescript-helloplugin/helloplugin.common.ts(21,15): error TS2304: Cannot find name 'staticlibrary'.

我做错了什么?

最佳答案

这只是 TypeScript 编译器错误,您必须为您的静态库生成类型(请参阅 docs 了解如何操作)或只需将此行添加到您的文件顶部。

声明 var staticlibrary: any

我看到你的代码片段中确实有一个声明文件,如果你想使用它,你必须将它包含到你的 references.d.ts 文件中。

关于ios - 使用 IOS 静态库问题创建 NativeScript 插件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49107273/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com