2013-10-30 9 views
0

이상한 행동이 있습니다. xcode 4.3에서 내 sencha touch 2/phonegap 2.0 앱을 실행하십시오.xcode가 sencha touch 자바 스크립트 구문을 인식하지 못합니다.

일부보기는 시뮬레이터/장치에만로드되지 않습니다. 브라우저에서는 정상적으로로드됩니다.

로그에서 특별한 오류가 발생하지 않았으므로보기에 항목이 드롭됩니다. 마침내 나는 XCODE가 "fieldset", "emailfield", "passwordfield"등과 같은 일부 xtypes를 인식하는 데 문제가 있음을 발견했습니다. "fieldset"을 "container"로 변경하고 "textfield"필드를 내보기로로드 한 후 성공적으로. 이상한 아?

이 다음 코드에서 발생 :

/* 
* File: app/view/loginformpanel.js 
* 
* This file was generated by Sencha Architect version 2.2.2. 
* http://www.sencha.com/products/architect/ 
* 
* This file requires use of the Sencha Touch 2.1.x library, under independent license. 
* License of Sencha Architect does not include license for Sencha Touch 2.1.x. For more 
* details see http://www.sencha.com/license or contact [email protected] 
* 
* This file will be auto-generated each and everytime you save your project. 
* 
* Do NOT hand edit this file. 
*/ 

Ext.define('MyApp.view.loginformpanel', { 
    extend: 'Ext.form.Panel', 

    config: { 
     baseCls: 'fbloginpanel', 
     id: 'loginformpanel', 
     itemId: 'loginformpanel', 
     layout: { 
      type: 'vbox' 
     }, 
     scrollable: { 
      direction: 'vertical' 
     }, 
     items: [ 
      { 
       xtype: 'container', 
       flex: 20, 
       cls: 'fblogin', 
       layout: { 
        type: 'vbox' 
       }, 
       items: [ 
        { 
         xtype: 'container', 
         flex: 3, 
         cls: 'wholepageRelative' 
        }, 
        { 
         xtype: 'container', 
         flex: 18, 
         cls: 'wholepageRelative', 
         layout: { 
          type: 'vbox' 
         }, 
         items: [ 
          { 
           xtype: 'container', 
           flex: 8, 
           docked: 'top', 
           layout: { 
            type: 'vbox' 
           }, 
           items: [ 
            { 
             xtype: 'fieldset', 
             flex: 2, 
             cls: 'loginmargin', 
             docked: 'top', 
             title: 'Existing User', 
             items: [ 
              { 
               xtype: 'emailfield', 
               id: 'email1', 
               itemId: 'email1', 
               name: 'email1', 
               placeHolder: 'Email' 
              }, 
              { 
               xtype: 'passwordfield', 
               id: 'password1', 
               itemId: 'password1', 
               name: 'password1', 
               placeHolder: 'Password' 
              } 
             ] 
            }, 
            { 
             xtype: 'button', 
             flex: 1, 
             cls: [ 
              'loginmargin', 
              'Signbutton' 
             ], 
             docked: 'bottom', 
             id: 'reglogin', 
             itemId: 'reglogin', 
             ui: 'round', 
             icon: '', 
             scope: this 
            } 
           ] 
          }, 
          { 
           xtype: 'container', 
           flex: 10, 
           layout: { 
            type: 'vbox' 
           }, 
           items: [ 
            { 
             xtype: 'container', 
             flex: 10, 
             layout: { 
              type: 'vbox' 
             }, 
             items: [ 
              { 
               xtype: 'fieldset', 
               flex: 4, 
               cls: 'loginmargin', 
               docked: 'top', 
               layout: { 
                type: 'vbox' 
               }, 
               title: 'New User', 
               items: [ 
                { 
                 xtype: 'textfield', 
                 id: 'username', 
                 itemId: 'username', 
                 name: 'username', 
                 placeHolder: 'Username' 
                }, 
                { 
                 xtype: 'passwordfield', 
                 id: 'password', 
                 itemId: 'password', 
                 name: 'password', 
                 placeHolder: 'Password' 
                }, 
                { 
                 xtype: 'emailfield', 
                 id: 'email', 
                 itemId: 'email', 
                 name: 'email', 
                 placeHolder: 'Email' 
                }, 
                { 
                 xtype: 'passwordfield', 
                 hidden: true, 
                 id: 'hashpassword', 
                 itemId: 'hashpassword', 
                 label: 'ססמא', 
                 name: 'hashpassword' 
                }, 
                { 
                 xtype: 'numberfield', 
                 hidden: true, 
                 label: 'Field', 
                 name: 'bfacebook' 
                }, 
                { 
                 xtype: 'numberfield', 
                 hidden: true, 
                 label: 'Field', 
                 name: 'bregister' 
                } 
               ] 
              }, 
              { 
               xtype: 'container', 
               flex: 4, 
               minHeight: 100, 
               layout: { 
                type: 'vbox' 
               }, 
               items: [ 
                { 
                 xtype: 'button', 
                 cls: [ 
                  'loginmargin', 
                  'Regbutton' 
                 ], 
                 docked: 'top', 
                 id: 'regbtn', 
                 itemId: 'regbtn', 
                 ui: 'round', 
                 icon: '', 
                 scope: this 
                }, 
                { 
                 xtype: 'button', 
                 cls: 'fbLoginbtn', 
                 docked: 'bottom', 
                 height: '', 
                 id: 'fbloginbtn1', 
                 itemId: 'fbloginbtn1', 
                 ui: '' 
                } 
               ] 
              }, 
              { 
               xtype: 'container', 
               flex: 2, 
               docked: 'bottom', 
               height: 50 
              } 
             ] 
            } 
           ] 
          } 
         ] 
        } 
       ] 
      }, 
      { 
       xtype: 'toolbar', 
       cls: 'registerToolbar', 
       docked: 'top', 
       items: [ 
        { 
         xtype: 'button', 
         baseCls: 'backbtn', 
         docked: 'left', 
         height: '', 
         id: 'loginbackbtn', 
         itemId: 'loginbackbtn', 
         width: '18%' 
        } 
       ] 
      } 
     ], 
     listeners: [ 
      { 
       fn: 'onLoginbackbtnTap', 
       event: 'tap', 
       delegate: '#loginbackbtn' 
      } 
     ] 
    }, 

    onLoginbackbtnTap: function(button, e, eOpts) { 
     //var Screen = Ext.ComponentQuery.query('#fbloginpanel'); 

     Ext.Viewport.setActiveItem(Ext.ComponentQuery.query('#fbloginpanel')[0]); 
     //Ext.Viewport.show(); 
    } 

}); 

지금 내가 심지어 케이스를하지 않아도, 다른보기에 더 많은 문제가있다.

일부도 비슷한 문제가 있습니까? 도와주세요.

답변

0

게시자가 게시 한 수업에서 "requires"키워드를 사용하지 않고 빠른 추측을합니다.

"개발"및 "프로덕션"모드가 매우 다르기 때문에 앱을 빌드 한 후 해당 xtype을 해결하는 방법을 알 수 없기 때문에 뷰가 시뮬레이터 나 장치에로드되지 않을 수 있습니다.

가장 좋은 방법은 클래스가 사용하는 모든 종속성에 항상 "requires"를 사용하는 것입니다.

+0

감사합니다. 나는 건축가를 사용하고있다. 그래서 이것이 생성하는 코드입니다. 내 주요 App.js에서 나는 필요와 경로를보고 EXT가 필요합니다. 도서관은 (는 충분하지 않다) : 거짓, 경로 : ({ disableCaching Ext.Loader.setConfig { 확장 : '터치/src에' 'Ext.device': '장치', 'MyApp.Facebook ':'앱/' } }); 외장 ','* Ext.data. '[ 'Ext.device.Geolocation ' 'Ext.device.Notification ' 'Ext.TitleBar ' 을 : Ext.application는 ({ 가 필요하다. device.Connection ' ], – user2427457

+0

각보기에는 "requires"에 대한 설정이 있습니다 - 의존성을 묶을 수 있도록 앱을 컴파일/빌드 할 때 필요합니다. – arthurakay

+0

정말 고맙습니다. 감사합니다 .Eli. (추신 : 왜 PS가 안드로이드에서 필요하지 않은지 궁금합니다.) – user2427457