【问题标题】:ionic Failed to load webpage with error: Could not connect to the serverionic 无法加载网页并出现错误:无法连接到服务器
【发布时间】:2014-12-06 11:37:13
【问题描述】:

我在更新到 Xcode 6 和 iOS 8 后遇到了 Ionic 项目的问题。

在尝试运行项目时,我在 Xcode 中收到以下错误:

Failed to load webpage with error: Could not connect to the server.

完整的日志是:

2014-10-11 14:08:29.468 test[23293:109668] Apache Cordova native platform version 3.6.3 is starting.
2014-10-11 14:08:29.469 test[23293:109668] Multi-tasking -> Device: YES, App: YES
2014-10-11 14:08:29.495 test[23293:109668] Unlimited access to network resources
2014-10-11 14:08:29.866 test[23293:109668] [CDVTimer][keyboard] 0.079989ms
2014-10-11 14:08:29.866 test[23293:109668] [CDVTimer][TotalPluginStartup] 0.284970ms
2014-10-11 14:08:30.721 test[23293:109668] Resetting plugins due to page load.
2014-10-11 14:08:30.764 test[23293:109668] Failed to load webpage with error: Could not connect to the server.

即使在尝试更新 Ionic 和 Cordova 并开始新项目时,此错误也会不断弹出。

我找不到任何出现此特定错误的线程,我不确定这是 iOS 8 兼容性问题还是我的设置有问题。

谢谢!

编辑:

更多关于 index.html 和 app.js 的信息

index.html:

<!DOCTYPE html>
<html ng-app="app" ng-controller="AppCtrl">
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no, width=device-width">

    <!-- compiled CSS -->
    <link rel="stylesheet" type="text/css" href="assets/app-0.0.1.css" />

    <!-- compiled JavaScript -->
    <script type="text/javascript" src="src/app/app.js"></script>

    <!-- cordova script (this will be a 404 during development) -->
    <script src="cordova.js"></script>
  </head>
  <body >
    <ion-nav-view></ion-nav-view>


    <!-- Load deferred scripts -->

    <!-- Google Maps -->
    <script src='http://maps.googleapis.com/maps/api/js?sensor=true&callback=googleMapsLoaded' defer async></script>
  </body>
</html>

和 app.js(在使用 ngbp 编译其余文件之前):

angular.module( 'app', [
  'ionic',

  // Common requirements
  'templates-app',
  'templates-common',

  // Common Components
  'app.auth',

  // All page modules
  'app.businesses',
  'app.business',
  'app.search',
  'app.branch',
  'app.profile',
  'app.feed',

  // Other dependencies
  'ui.router'
])

.config(['$stateProvider', '$urlRouterProvider', function myAppConfig ($stateProvider, $urlRouterProvider) {
  $stateProvider
  .state('app', {
    url: "/app",
    abstract: true,
    templateUrl: "menu/menu.tpl.html",
    controller: 'AppCtrl'
  });

  $urlRouterProvider.otherwise( 'app/feed' );
}])

.run(['$ionicPlatform', 'appAuthService', '$sessionStorage', function($ionicPlatform, appAuthService, $sessionStorage) {
  // Initialize ionic styles
  $ionicPlatform.ready(function() {
    if(window.StatusBar) {
      // org.apache.cordova.statusbar required
      StatusBar.styleDefault();
      StatusBar.styleLightContent();
    }
  });

  // Initialize app authentication service
  appAuthService.init();

  // Initialize a session cache validation object
  $sessionStorage.updated = {};
}])

.controller( 'AppCtrl', ['$scope', '$location', function AppCtrl ($scope, $location) {

}])

;

【问题讨论】:

  • 您是否验证了您要连接的服务器甚至可用?
  • 您需要向我们展示您的index.html 是如何编码的。需要提供更多信息?
  • @ScottHunter 我有,尽管即使它不可用并且应用程序的资源是本地 ionic 仍然应该加载,不是吗?

标签: xcode cordova ios8 ionic-framework


【解决方案1】:

在我们的例子中(在 IONIC 5 下)条目

"server": {
    "url": "http://192.168.0.6:8100"
  }

必须删除文件中的“capacitor.config.json”。 之后,该应用程序在移动设备上运行流畅。

【讨论】:

  • 好的,我将删除电容器.config.json。请问提供的条目在哪里?
【解决方案2】:

我遇到了同样的问题,重新安装 cordova-plugin-ionic-webview 对我有用。

cordova plugin rm cordova-plugin-ionic-webview
cordova plugin add cordova-plugin-ionic-webview

【讨论】:

    【解决方案3】:

    当我尝试在 iOS 设备上运行 Ionic 4 应用程序时遇到了这个问题。

    为我解决的问题是使用 --address 选项在所有网络接口上运行开发服务器,例如:

    ionic cordova run ios --address=0.0.0.0 --debug --consolelogs -l

    【讨论】:

      【解决方案4】:

      我已经运行了服务器和模拟器,并再次尝试更新设备上的应用程序。

      然后我遇到了同样的问题

      我停止了我的模拟器并重新构建了应用程序并使用 Xcode 打开了 project.xcodeproj 文件并在设备上运行它。这对我有用

      【讨论】:

        【解决方案5】:

        使用模拟器进行实时调试后使用Xcode打开项目也可能出现此错误

        ionic cordova 模拟 ios --livereload -lc

        要解决此问题,请关闭 Xcode 并再次使用构建项目

        ionic cordova build ios
        

        然后使用 Xcode 构建和运行。

        【讨论】:

        • +1 - 这也会使用电容器破坏您的应用程序 - 原因是服务器 url 填充到您的 local url,这意味着它将在您的本地机器/设备上运行但是当您部署繁荣时,它会停止工作,因为它试图访问您的 LAN ip。 server 块应该从 capacitor.config.json 中删除
        • 其实我的情况就是这样
        【解决方案6】:

        我找到了解决方案,希望对您有所帮助: https://github.com/glebmachine/cordova-plugin-ionic/commit/7c095a45a13f7349e93f14a3057153775109f635

        从我的 fork 安装: cordova plugin add https://github.com/glebmachine/cordova-plugin-ionic.git#v4

        【讨论】:

        • 欢迎来到 Stack Overflow!虽然链接是分享知识的好方法,但如果它们在未来被破坏,它们将无法真正回答问题。将回答问题的链接的基本内容添加到您的答案中。如果内容太复杂或太大而无法在此处放置,请描述所提出解决方案的总体思路。请记住始终保留对原始解决方案网站的链接引用。见:How do I write a good answer?
        【解决方案7】:

        我遇到了同样的问题。

        我通过Xcode打开了平台文件夹中的ios项目,但是我忘记了Xcode文件夹中的代码库不是最新的,因此损坏了。

        要在您的 Xcode 项目中获取新代码,请使用以下命令:

        ionic cordova prepare ios
        

        如果您的问题与我的问题根源相同,这应该会有所帮助。

        【讨论】:

        • 在新版本的 Ionic ionic cordova prepare ios
        • 2021 年将是ionic cap build ios
        【解决方案8】:

        我在使用 XCode9.3 和 ionic3 时遇到了同样的问题。事实证明,该问题是由 WKWebview 正常运行所需的“config.xml”中缺少配置引起的。在删除“platforms/ios”文件夹并再次运行“ionic cordova build ios --prod”之前,我将以下 sn-p 添加到了我的 config.xml。

         <allow-navigation href="http://localhost:8080/*" />
            <feature name="CDVWKWebViewEngine">
                <param name="ios-package" value="CDVWKWebViewEngine" />
            </feature>
            <preference name="CordovaWebViewEngine" value="CDVWKWebViewEngine" />

        有关 ionic 团队的更详细说明,请参阅 link here

        【讨论】:

          猜你喜欢
          • 2021-05-31
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-04-16
          • 2016-04-05
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多