2017-10-09 53 views
0

我正在使用遠程控件處理iOS和Android DVR應用程序。 我需要通過超級循環編程使用第三方庫進行網絡通信和視頻編碼。使用appcelerator hyperloop加載外部庫和SDK

此刻我嘗試導入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 

回答

0

超迴路列車文檔說:這在超迴路列車2.2.0被棄用,並將在超迴路列車3.0.0被刪除。將其放入您的iOS平臺目錄中,它會自動檢測到。

所以,儘量把你的庫項目 - >程序 - >平臺 - > IOS文件夾&它會自動檢測到它。

要在js代碼中使用,您可以嘗試按照該庫文檔中提到的那樣調用它,考慮到名稱與在本機iOS中調用它們相同。

我在這裏發現與Android類似的東西:Hyperloop Android 3rd Party Example。它包含類似文件夾&中的庫,您可以查看它在鈦應用程序代碼中的使用情況。

+0

謝謝,我會試着看看這個例子。 但是,在我看來,最新版本的hyperloop是2.1.3。我猜2.2.0可以與下一個版本的SDK一起發佈。知道我是否可以安裝預發佈版來測試功能? –

+0

版本2.2.x最近已經發布,但都使用appc.js文件,如果沒有,我不能理解庫是靜態導入的還是如何檢索它。 Appcelerator指南並不是非常清楚如何在使用require()導入外部庫時調用規則......從文件名?從班裏面的名字?如果您不再使用appc.js文件,那麼通過超級自動生成的名稱? –