2016-07-15 86 views
0

美好的一天,Nativescript - ActionBar錯誤

我正在使用Nativescript創建iOS應用程序。我試圖在iOS中添加一個標題到ActionBar,但它一直在失敗。因爲我已經刪除從我的代碼的動作條的標籤和任何痕跡,但我的應用程序不會推出,它不斷給我下面的輸出和崩潰:

Jul 15 13:17:41 Shivas-Air cngMobileApp[18451]: 1 0x4840b0 NativeScript::FFICallback<NativeScript::ObjCMethodCallback>::ffiClosureCallback(ffi_cif*, void*, void**, void*) 
Jul 15 13:17:41 Shivas-Air cngMobileApp[18451]: 2 0xb316f8 ffi_closure_inner 
Jul 15 13:17:41 Shivas-Air cngMobileApp[18451]: 3 0xb32022 ffi_closure_i386 
Jul 15 13:17:41 Shivas-Air cngMobileApp[18451]: 4 0x1704ceb -[UIViewController __viewWillAppear:] 
Jul 15 13:17:41 Shivas-Air cngMobileApp[18451]: 5 0x1706789 -[UIViewController viewWillMoveToWindow:] 
Jul 15 13:17:41 Shivas-Air cngMobileApp[18451]: 6 0x15e98bb -[UIView(Hierarchy) _willMoveToWindow:withAncestorView:] 
Jul 15 13:17:41 Shivas-Air cngMobileApp[18451]: 7 0x15fa0f8 -[UIView(Internal) _addSubview:positioned:relativeTo:] 
Jul 15 13:17:41 Shivas-Air cngMobileApp[18451]: 8 0x15e8cc8 -[UIView(Hierarchy) addSubview:] 
Jul 15 13:17:41 Shivas-Air cngMobileApp[18451]: 9 0xb31ee8 ffi_call_i386 
Jul 15 13:17:41 Shivas-Air cngMobileApp[18451]: **file:///app/tns_modules/ui/page/page.js:314:35: JS ERROR TypeError: frame._updateActionBar is not a function. (In 'frame._updateActionBar(this)', 'frame._updateActionBar' is undefined) 
Jul 15 13:17:41 Shivas-Air com.apple.CoreSimulator.SimDevice.20124C04-21CD-486F-9DFE-439512DD31BD.launchd_sim[18070]** (UIKitApplication:org.nativescript.cngMobileApp[0xc804][18451]): Service exited due to signal: Segmentation fault: 11 

請注意以粗體顯示的區域。我從平臺文件夾中刪除了我的ios文件夾並重新添加了平臺,但仍未解決問題。任何援助表示讚賞。

回答

-1

在我的HTML文件中,我有一個標籤,然後是帶有各自結束標籤的標籤。我從所有的HTML文件中刪除和標記,並且我的項目成功編譯並運行。

+0

請問您能提供一個更易理解的答案嗎?我陷入了同樣的情況。非常感謝你提前。 –

+0

這個答案很不明確。 – Bogdan

2

我自己也有同樣的問題,試圖使用DropDown第三方插件。問題的根源在於我對NativeScript和Angular2如何工作的誤解。

基本上,在我的情況下,DropDown文檔指出組件的html代碼必須放在<Page></Page>標籤之間。但是,通過使用Angular2,這個標籤是不需要的,所以通常HTML代碼不包含<Page>標籤。

所有我需要做的是以下幾點:

  • main.tsimport { registerElement } from "nativescript-angular/element-registry";

  • 然後,調用: registerElement("DropDown",() => require("nativescript-drop-down/drop-down").DropDown);

這裏要注意的重要一點是registerElement函數的第一個參數是標記本身,所以在我的情況下,在HTML代碼中使用的標籤是<DropDown></DropDown>

相關問題