0

当我尝试更改 IO'S 的 ionic view 应用程序的视图时遇到问题(我不证明 android 应用程序)。我看到这是一个应用程序错误,它有一个解决方案,但这对我不起作用。

信息错误:https ://blog.appery.io/2015/09/how-to-fix-ios9-angular-webview-issue/ 信息错误 2:http ://blog.ionic.io/ios-9-potential -破坏性变化/

我的离子信息是:

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'
          },
          'sideNavMenu@index': {
            templateUrl: 'templates/modules/sideBar/sideNavBar.html',
            controller: 'sideNavController'
          },
          'footerMenu@index': {  //tabs views
            templateUrl: 'templates/modules/footerMenu/footerMenu.html',
            controller: 'footerMenuController'
          }
        }
      })
      .state('tab1', {
        parent: 'index',
        abstract:true,
        url: '/tab1',
        views: {
          'tab1View@index': {
            templateUrl: 'templates/tab1/tttt.html',
            controller: 'tabs1Controller'
          }
        }
      })
      .state('tab2',{
          parent: 'tab1',
          url: '/tab2',
          views:{
              'tab2View@index': {
                  templateUrl: 'templates/tab2/tttt.html',
                  controller: 'tab2Controller'
              }
          }
      })
      .state('tab3',{
          parent: 'tab1',
          url: '/tab3',
          views:{
              'tab3View@index': {
                  templateUrl: 'templates/tab3/tttt.html',
                  controller: 'tab3Controller'
              }
          }
      })
      .state('tab4',{
          parent: 'tab1',
          url: '/tab4',
          views:{
              'tab4View@index': {
                  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: {
          'subtab1@mobile': {
            templateUrl: 'templates/subtab/tab1/tab1.html',
            controller: 'subtab1Controller'
          }
        }
      })
      .state('subtabs.subtab2',{
        url: '/subtab2',
        views: {
          'etcetc@torneos.disponibles':{
            templateUrl: 'templates/subtab2/subtabs21/ssss.html',
            controller: 'subtab21Controller'
          },
          'etc1etc2@mobile': {
            templateUrl: 'templates/subtab2/subtabs22/ddddd.html',
            controller: 'subtab22Controller'
          }

        }
      })
      .state('subtabs.subtab3',{
        parent: 'subtabs',
        url: '/subtab3',
        views: {
          'etcetc3@mobile': {
            templateUrl: 'templates/subtab/subtabs3/asdasd.html',
            controller: 'subtab3Controller'
          }
        }
      })

很明显,名字和目录都是假的……这个实名状态对我有用,我只是想解释一下这个想法。

我有一个登陆:登录,注册等视图,当我在进入索引页面等之后通过这个视图时,这个索引页面是一个带有标签(4个标签)的抽象视图,在一个标签中我有标签再次。

我为模块渲染带有子视图的选项卡。我的问题是在浏览器和 Xcode 调试模拟等中它可以工作......但在离子视图应用程序中它不起作用。(我尝试了补丁,但它根本不起作用)。我用 href , ui-sref , state.go() ...证明了这一点,什么也没有。我需要帮助

谢谢!!=)

4

1 回答 1

0

有类似的问题。我建议做什么:

  1. 应用补丁:https ://gist.github.com/IgorMinar/863acd413e3925bf282c 只需将其放在您的项目目录中,<script src=...>在您的 ionic 项目中添加 index.html 并在 app.js 中添加一个依赖项,如下所示:angular.module('myApp', ['ngRoute', 'ngIOS9UIWebViewPatch'])
  2. 下载并替换[your ionic project]/www/lib/js/angular中的最新 angular ( https://code.angularjs.org/1.4.7/ ) 文件为:angular-animate.js、angular-sanitize.js、角.js
  3. 包括它们而不是ionic-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. 将 XCode 更新到 7.1

  5. [your ionic project]/platforms/ios中打开项目[your project name].xcodeproj。XCode 将提供修复一些警告,请在任何情况下都这样做。
  6. 从 XCode 编译并运行项目

在所有这些步骤之后,我的项目开始工作

于 2015-10-30T13:40:48.547 回答