【问题标题】:NativeScript iOS Metadata found but symbol not available at runtime找到 NativeScript iOS 元数据,但符号在运行时不可用
【发布时间】:2019-01-17 08:03:24
【问题描述】:

我正在尝试使用 libsodium (https://github.com/jedisct1/libsodium) 为 NativeScript 实现自定义插件。我已经下载了源文件并遵守生成libsodium.a 和头文件。之后,我在“https://docs.nativescript.org/plugins/plugin-reference”之后放入了我的插件。它正在正确生成打字稿定义,但是当我尝试在这样的演示应用中使用时:

console.dir(crypto_aead_aes256gcm_abytes())

但是出现这样的错误:

JavaScript error:
file:///app/main-view-model.js:8:49: JS ERROR ReferenceError: Metadata for "sodium.crypto_aead_aes256gcm_abytes" found but symbol not available at runtime.
(CoreFoundation) *** Terminating app due to uncaught exception 'NativeScript encountered a fatal error: ReferenceError: Metadata for "sodium.crypto_aead_aes256gcm_abytes" found but symbol not available at runtime.

架构:

lipo -info sodium.a    
Architectures in the fat file: sodium.a are: i386 armv7 armv7s x86_64 arm64

我在哪里做错了?请给我建议。

【问题讨论】:

    标签: ios nativescript libsodium


    【解决方案1】:

    您的插件是否包含 Swift 代码?如果是,则需要在插件的 xcconfig 文件中将 EMBEDDED_CONTENT_CONTAINS_SWIFT 设置为 YES 以加载 Swift 运行时。

    【讨论】:

    • 不,那是符合iOS静态库的纯C库。
    • hmm,尝试在 Native Script Github 上打开一个问题,您可能会在那里获得更多帮助。 github.com/NativeScript/ios-runtime
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-07
    • 2021-09-26
    • 2020-04-11
    • 2018-08-27
    • 2013-07-25
    • 1970-01-01
    相关资源
    最近更新 更多