问题标签 [nativescript-plugin]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
460 浏览

nativescript - 有哪些像 Nativescript 这样的技术项目,从原生平台到 Javascript+原生反射代理绑定的意义?

Nativescript 最基本的特性是它将不同平台的语言和 API:s 转换为 Javascript(或另一种给定的单一语言,例如 C#),例如对于 iPhone,它是 Objective C 语言和 iOS API:s,对于 Android 手机,它是Java 语言和 Android API:s。

Nativescript 的“对 Javascript 代理的构建时反射”是这里的核心。

在线阅读各种“Nativescript vs.whatever”页面,我很清楚这些页面的作者并没有真正讨论那个确切的方面,所以这些文章根本不能用来概述那种情况。

所以我想在这里问你:

有哪些项目可以提供该基本功能 - 从不同的智能手机(可能还有桌面)平台到 Javascript(或另一种单一语言,如 C#)的语言+API 绑定?

所有基于 WebView/HTML 呈现的基于 UI 的解决方案在此处均不合格。只有本机 UI 组件解决方案才有资格。也请随意列出不合格的解决方案,供大家参考,并仔细标出它不合格。

因此,我了解 Apache Cordova ( https://cordova.apache.org/docs/en/latest/guide/overview/ ) 被取消资格。

我更喜欢 Javascript,但是让我们枚举所有项目,与在统一层使用哪种语言无关,因此 Xamarin 在这个线程中是合格的。

同样对于那些各自合格的解决方案,它们是否真的像 Nativescript 一样全面/完整,支持,或者它们如何比较?

对于各自的解决方案,它们是否还提供了一个运行时,将底层不同的 UI API:s 集成到一个跨多个平台的统一 UI API 中?(对于 Xamarin,我理解这个问题的答案是否定的 - 不同平台需要不同的代码。)

他们在方法上的主要区别是什么?

我挑选的一些可能符合条件的名称是“React Native”、“Appcelerator Titanium”和“Electron”(https://electron.atom.io/)。

这个问题对于任何像我这样的应用程序创建者或初创公司都很重要,他们会非常依赖解决方案,也希望能做出很多贡献,所以这是一个长期的选择。

因此,对于我想要的每个相关解决方案: * NAME,URL:它的名称,带有 URL * DISQUALIFIED?:是否不合格 * AUTO-REFLECTION:是否具有自动构建时反射,任何详细信息 * LANGUAGE:统一语言(例如 Javascript ) * 统一的 UI 代码:平台之间的 UI 代码相同 * 平台:支持的平台 * 代码转换:有关如何管理应用程序源代码的任何注释,例如它是否在设备上作为 Javascript 运行,是否适用于 Javascript 代码的任何代码转换 (例如,解析出实际上本身不是有效 Javascript 的自定义标签)、应用于 Javascript 的任何类型的编译等。

请告诉我。

这对于概述非常有价值。

再次感谢 Telerik 和 Nativescript 团队制作了这项出色的技术!

0 投票
1 回答
1176 浏览

ios - iOS 上的 Nativescript 联系人权限

为了让我的 NativeScript 应用程序读取 iOS 上的联系人,我遇到了麻烦。我正在使用库nativescript-contacts来读取地址簿的所有条目,并使用名为nativescript-permission的库来询问用户读取联系人的权限。不幸的是,后者似乎只适用于 Android,一切正常:出现一个弹出窗口,要求用户允许读取联系人,如果授予权限,联系人将显示在列表中。相反,在 iOS 中,我无法请求联系权限:没有弹出对话框,当我尝试使用nativescript-contacts的功能(例如getAllContacts())时,应用程序冻结。

我试过搜索,但我唯一能做的似乎是使用一些本机代码来获得这些权限......但我不知道如何。你能帮我解决这个问题吗?

谢谢!

0 投票
1 回答
301 浏览

nativescript - NativeScript 在错误的目录中寻找自定义插件

我最近尝试安装第三方插件:https ://github.com/bradleygore/nativescript-materialdropdownlist并按照自述文件来使用它。在我运行我的应用程序并遇到错误之前,似乎没有什么异常。我很快注意到它试图在错误的文件夹中找到插件。

堆栈跟踪

该模块肯定在我的 node_modules 文件夹中,但 {N} 试图从 /app/nativescript-materialdropdownlist 而不是 /app/tns_modules/nativescript-materialdropdownlist 加载它,它实际上位于构建的输出中。

我试过删除平台文件夹并重建。我试过删除 node_modules 并重新安装所有东西。我不确定还能做什么。

0 投票
1 回答
315 浏览

nativescript - Nativescript 插件 - 与第三方原生库的通信

如果可以的话,快速帮助。试图实现对第三方本机函数的调用,该函数接受一个必须用回调函数实现某个接口的对象。您将如何在 Nativescript 端创建一个类似的对象并将其传递给该本地函数?

Java 示例:

0 投票
1 回答
211 浏览

ios - 在 NativeScript 插件中为 iOS 生成 EC 密钥对

序言:我正在尝试在我的 NativeScript 插件中创建一个椭圆曲线密钥对(因此我被迫使用 Objective-C)来进行签名和验证。

首先,我想说的是,下面呈现的状态是许多尝试以不同方式进行操作的结果(不幸的是,我已经坐了好几天了)而且我不仅考虑了这种方法。在这个项目开始时,我只是遵循 Apple 文档,并认为我会轻松成功。多么错误的信念。

我的要求:为了简单起见,我想将私钥存储在 Keychain 中(下一步将是 Secure Enclave),并SecKeyCopyPublicKey在我通过 检索密钥后通过 计算公钥SecItemCopyMatching,如Apple 文档中所述。

现状:这个模型原本就是从这里来的。我从来没有使用过它,SecKeyCreateRandomKey因此我正在尝试使用SecKeyGeneratePairatm。我目前实现的内容如下所示:

目前我收到一个错误-50。根据OSStatus.com,这意味着我给定的参数在某些时候无效。我不知道到底是什么问题。

我的问题:如何生成一个密钥对,其中至少将私钥隐式存储在钥匙串中,然后我可以成功地检索公钥SecKeyCopyPublicKey

感谢您提供任何有价值的提示和帮助。

诚挚的,大卫

0 投票
1 回答
304 浏览

java - Nativescript,不能使用 typescript-angular2 扩展 NotificationListenerService?

我正在尝试收听手机收到的所有通知,我正在使用 nativescript 和 angular2,

我尝试过的第一个解决方案:-

在安装 tns-platform-declarations 包并引用它之后

不幸的是,发布的通知没有任何反应。

第二次尝试:-

我制作了一个java文件并将其放入

平台/android/src/main/java/com/tns/MoNotificationListener.java

adb logcat *:S 本机:V

并成功发布了通知日志

添加到 android 清单中

应用程序/App_Resources/Android/AndroidManifest.xml

然后我试图从打字稿中扩展该类以在发布通知时获得通知。

但再次没有任何反应

0 投票
1 回答
871 浏览

java - 如何在 Nativescript 中使用接口类型参数调用 Java 方法(自定义类)

我正在创建一个 Nativescript 插件。它包括一个自定义 Android 库 (AAR),我想从 Typescript 代码中使用它。当我运行演示(在设备或模拟器中)TypeError: sender.registerListener is not a function时,调用此registerListener方法时出现错误,这很奇怪,因为我能够调用同一对象的其他方法。

我认为这可能是因为我没有正确实现作为参数所需的接口。我认为我可以用代码更好地解释它:

Sender.java:我将在 Typescript 中使用的公共类:

MessageListener.java:必须通过registerListener参数实现的接口:

这是插件 ( to ) 的 Typescript (Nativescript) 代码:

如果我将它包含WearMessaging.send("/demo", "Hola");在我的 nativescript 应用程序中,它可以正确编译和运行,它会成功调用 Java 方法。但是如果我运行:

应用程序在运行时停止并抛出:TypeError: sender.registerListener is not a function引用myplugin.android.ts文件。

我试图让这项工作变得疯狂,所以,如果你有任何线索,请告诉我。正如我所说,我认为这是因为我在实现接口时遗漏了一些东西,并且因为参数类型与它们不匹配,所以无法识别方法,但也许我错了。

在这里你可以看到一些官方文档: https ://docs.nativescript.org/runtimes/android/generator/extend-class-interface

提前致谢。

0 投票
1 回答
60 浏览

sqlite - OrCreateDatabase 错误 nativescript sqlite

当我使用 nativescript-sqlite 插件创建 localDB 时,它会引发以下错误。

SQLITE.CONSTRUCTOR - Open DB Error Error: java.lang.Exception: Failed resolving method open OrCreateDatabase on class android.database.sqlite.SQLiteDatabase

为什么显示此错误

0 投票
1 回答
335 浏览

android - NativeScript Geolocation 失败“主线程上发生未捕获的异常。com.tns.NativeScriptException:调用 js 方法 onClick 失败”

在 Android 上访问 GeoLocation 插件时遇到问题。单击获取设备的 GPS 位置时,我有一个按钮,但是单击此按钮时会发生以下错误(应用程序已授予位置服务和存储权限):

在此处输入图像描述

main-view-model.js 中使用了以下代码

0 投票
0 回答
390 浏览

nativescript - Nativescript : 本地通知,builder.setChannelId 不是函数错误

在我的 nativescript 应用程序中,我使用 nativescript-local-notifications NPM来推送本地通知,并且我按照与 github 中的自述文件相同的说明进行操作。

我面临错误

LocalNotifications.schedule:TypeError:builder.setChannelId 不是函数

我提到了已经被某人解决的 GitHub 问题。但是,我仍然面临这个问题。

项目组件.ts:

宣言XML

API 级别 = 27 "nativescript-local-notifications": "^2.0.3",

GITHub 问题网址:https ://github.com/EddyVerbruggen/nativescript-local-notifications/pull/68