【问题标题】:Load external libraries and SDK with appcelerator hyperloop使用 appcelerator hyperloop 加载外部库和 SDK
【发布时间】:2017-10-09 09:31:10
【问题描述】:

我正在开发带有遥控器的 iOS 和 Android DVR 应用。 我需要通过超级循环编程使用第三方库进行网络通信和视频编码。

目前我尝试导入 iOS 版本库。 该库由一个静态文件 libDVR_NET_SDK.a 和一个包含多个 .h 头文件的“include”文件夹组成。

我按照官方文档在 appc.js 文件中创建了引用:

appcelerator.com iOS Hyperloop Programming Guide

module.exports = {
    hyperloop: {
        ios: {
            thirdparty: {
                'libDVR_NET_SDK': {
                    source: 'platform/ios/SDK/include',
                    header: "platform/ios/SDK/include",
                    resource: 'platform/ios/SDK'
                },
                'MediaPlayerLib': {
                    source: 'platform/ios/MediaPlayerLib/include',
                    header: "platform/ios/MediaPlayerLib/include",
                    resource: 'platform/ios/MediaPlayerLib'
                }
            }
        }
    }
};

目前我无法理解如何从 javascript 代码调用外部库:

var libDVR_NET_SDK = require("libDVR_NET_SDK");

但是会产生如下错误:

Script Error Couldn't find module: /hyperloop/libdvr_net_sdk/libdvr_net_sdk for architecture: x86_64

【问题讨论】:

    标签: appcelerator appcelerator-hyperloop


    【解决方案1】:

    Hyperloop 文档说:这在 Hyperloop 2.2.0 中已被弃用,并将在 Hyperloop 3.0.0 中删除。而是将其放入您的 iOS 平台目录中,它将被自动检测到。

    所以,试着把你的库放在 Project -> app -> platform -> ios 文件夹中,它会自动检测到它。

    要在 js 代码中使用,您可以尝试按照该库文档中的说明调用它,考虑到名称与您在本机 iOS 中调用它们时的名称相同。

    我在这里找到了类似于 Android 的:Hyperloop Android 3rd Party Example。它包含类似文件夹中的库,您可以查看它在钛应用程序代码中的进一步使用情况。

    【讨论】:

    • 谢谢,我会试着看看这个例子。但是,在我看来,hyperloop 的最新版本是 2.1.3。我猜 2.2.0 可以与下一版本的 SDK 一起发布。知道我是否可以安装预发布版本来测试功能?
    • 最近发布了 2.2.x 版本,但无论是使用 appc.js 文件还是没有我都无法理解该库是静态导入的还是如何检索它。 Appcelerator Guide 对使用 require() 导入时如何调用外部库的规则不是很清楚......来自文件名?从里面的类名?来自hyperloop自己生成的名字,如果不再使用appc.js文件?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-16
    • 1970-01-01
    • 2016-12-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多