2015-10-22 2 views
0

У меня проблема при попытке изменить вид приложения с ионным представлением для IO'S (я не доказываю приложение для Android). Я вижу, что это ошибка приложения, и у нее есть решение, но это не работает для меня.

Информация ошибка: https://blog.appery.io/2015/09/how-to-fix-ios9-angular-webview-issue/ Информация о ошибке 2: http://blog.ionic.io/ios-9-potential-breaking-change/

Моя ионная информация является:

Cordova CLI: 5.3.3 
Ionic Version: 1.1.0 
Ionic CLI Version: 1.7.7 
Ionic App Lib Version: 0.6.3 
ios-deploy version: 1.8.2 
ios-sim version: 5.0.2 
OS: Mac OS X El Capitan 
Node Version: v4.1.1 
Xcode version: Xcode 7.0.1 Build version 7A1001 

и мои app.js является:

$stateProvider 

     .state('landing', { 
     url: '/', 
     templateUrl: 'templates/landing/landingView.html', 
     controller: 'landingController' 
     }) 
     .state('login', { 
     url: '/login', 
     templateUrl: 'templates/landing/login/loginView.html', 
     controller: 'loginController' 
     }) 
     .state('register', { 
     url: '/register', 
     templateUrl: 'templates/landing/register/registerView.html', 
     controller: 'registerController' 
     }) 
     .state('forget', { 
     url: '/forget', 
     templateUrl: 'templates/landing/forget/forgetView.html', 
     controller: 'forgetController' 
     }) 
     .state('index', { 
     abstract: true, 
     //url: '/', 
     views: { 
      '@' : { 
      templateUrl: 'templates/abstractView.html', 
      controller: 'AppCtrl' 
      }, 
      '[email protected]': { 
      templateUrl: 'templates/modules/sideBar/sideNavBar.html', 
      controller: 'sideNavController' 
      }, 
      '[email protected]': { //tabs views 
      templateUrl: 'templates/modules/footerMenu/footerMenu.html', 
      controller: 'footerMenuController' 
      } 
     } 
     }) 
     .state('tab1', { 
     parent: 'index', 
     abstract:true, 
     url: '/tab1', 
     views: { 
      '[email protected]': { 
      templateUrl: 'templates/tab1/tttt.html', 
      controller: 'tabs1Controller' 
      } 
     } 
     }) 
     .state('tab2',{ 
      parent: 'tab1', 
      url: '/tab2', 
      views:{ 
       '[email protected]': { 
        templateUrl: 'templates/tab2/tttt.html', 
        controller: 'tab2Controller' 
       } 
      } 
     }) 
     .state('tab3',{ 
      parent: 'tab1', 
      url: '/tab3', 
      views:{ 
       '[email protected]': { 
        templateUrl: 'templates/tab3/tttt.html', 
        controller: 'tab3Controller' 
       } 
      } 
     }) 
     .state('tab4',{ 
      parent: 'tab1', 
      url: '/tab4', 
      views:{ 
       '[email protected]': { 
        templateUrl: 'templates/tab4/rrr.html', 
        controller: 'tab4Controller' 
       } 
      } 
     }) 

     .state('subtabs', { //tabs inside tabs 
     parent: 'tab1', 
     abstract:true, 
     url: '/subtabs' 
     }) 
     .state('subtabs.subtab1',{ 
     parent: 'subtabs', 
     url: '/subtab1', 
     views: { 
      '[email protected]': { 
      templateUrl: 'templates/subtab/tab1/tab1.html', 
      controller: 'subtab1Controller' 
      } 
     } 
     }) 
     .state('subtabs.subtab2',{ 
     url: '/subtab2', 
     views: { 
      '[email protected]':{ 
      templateUrl: 'templates/subtab2/subtabs21/ssss.html', 
      controller: 'subtab21Controller' 
      }, 
      '[email protected]': { 
      templateUrl: 'templates/subtab2/subtabs22/ddddd.html', 
      controller: 'subtab22Controller' 
      } 

     } 
     }) 
     .state('subtabs.subtab3',{ 
     parent: 'subtabs', 
     url: '/subtab3', 
     views: { 
      '[email protected]': { 
      templateUrl: 'templates/subtab/subtabs3/asdasd.html', 
      controller: 'subtab3Controller' 
      } 
     } 
     }) 

Очевидно, что имена и каталоги это подделки ... это состояние с настоящими именами работает для меня, я только хочу объяснить эту идею.

У меня есть одна посадка с: логином, регистрацией и т. Д., И когда я передаю это представление после перехода на индексную страницу и т. Д., эта страница-указатель представляет собой абстрактный вид с вкладками (4 вкладки) и одним вкладка У меня есть вкладки внутри снова.

Я визуализирую вкладки с subviews для модуля. Моя проблема заключается в том, что в браузере и Xcode отладка моделирования и т. Д. Это работает ... но в приложении с ионным представлением это не работает. (Я пытаюсь патч, и он вообще не работает). Я доказываю это с помощью href, ui-sref, state.go() ... и ничего. Мне нужна помощь

Спасибо! =)

ответ

0

Были подобные проблемы. А что я рекомендую сделать:

  1. Применить патч: https://gist.github.com/IgorMinar/863acd413e3925bf282c Просто поместите его в директорию вашего проекта, добавьте <script src=...> к index.html в вашем ионным проекта и зависимость в app.js вроде этого: angular.module('myApp', ['ngRoute', 'ngIOS9UIWebViewPatch'])
  2. Скачать и заменить последнюю угловые (https://code.angularjs.org/1.4.7/) в [ваш ионный проект]/WWW/Lib/JS/угловой
    файлов: угловых-animate.js, угловой-sanitize.js, angular.js
  3. Включите их вместо ионных-bundle.js, так что ваш index.html голова будет выглядеть следующим образом:

    <script src="lib/ionic/js/ionic.js"></script> 
    <script src="lib/ionic/js/ionic-angular.js"></script> 
    
    <script src="lib/ionic/js/angular-ui/angular-ui-router.js"></script> 
    
    <script src="angular-ios9-uiwebview.patch.js"></script> 
    <!-- cordova script (this will be a 404 during development) --> 
    <script src="cordova.js"></script> 
    
  4. Update XCode 7.1

  5. открытого проект [название вашего проекта] .xcodeproj в [ваш ионный проект]/платформы/ios. XCode предложит исправить несколько предупреждений, пожалуйста, сделайте это, только для любого случая.
  6. скомпилировать и запустить проект с XCode

В конце концов, что шаги мой проект начал работать

Смежные вопросы