【问题标题】:Are these missing libs causing my app to crash?这些丢失的库是否会导致我的应用程序崩溃?
【发布时间】:2023-03-10 14:24:01
【问题描述】:

在为我发布的 ios ionic 应用程序添加一些新功能后,上个月我一直在与随机崩溃和白屏作斗争。我已经准备好放弃并从应用商店中删除该应用并停止使用 ionic(我很喜欢它,这是一种耻辱)。

在尝试调试、删除插件、删除代码、重建平台、搜索 stackoverflow 等近一个月后,我现在正抓紧救命稻草。

谁能告诉我,xcode 中这些缺失的文件(由cordova 插件添加)是个问题吗?我发现了很多相互矛盾的报道。这些是否可以解释为什么我的应用在启动时几乎总是白屏(尽管有时它可以工作)。

我使用的是 xcode 7.2.1 和

  • 科尔多瓦 CLI:6.0.0
  • Gulp 版本:CLI 版本 3.9.0
  • Gulp local:本地版本 3.9.0
  • 离子版本:1.1.1
  • Ionic CLI 版本:1.7.14
  • Ionic 应用程序库版本:0.7.0
  • ios-deploy 版本:1.8.5
  • ios-sim 版本:5.0.6
  • Cordova-ios 4.0.1

我的应用在浏览器中运行良好,没有控制台错误。它在 Android 上也可以正常工作,这导致我发现这是一个 cordova-ios 问题或一个 xcode/ios 特定问题。

我确实找到了这个:https://issues.apache.org/jira/browse/CB-10530,但在拉入 cordova-ios 的主分支后,我仍然在大多数时间启动白屏。

肯定有人遇到过这些问题吗?

我正在使用这些插件:

  • “cordova-plugin-device”,
  • “cordova-plugin-console”,
  • “cordova-plugin-whitelist”,
  • “cordova-plugin-splashscreen”,
  • “cordova-plugin-statusbar”,
  • “离子插件键盘”,
  • “com.phonegap.plugins.barcodescanner”,
  • “cordova-plugin-crosswalk-webview”,
  • “cordova-plugin-google-analytics”

白屏和xcode控制台:

谢谢

【问题讨论】:

  • 你能告诉我你遇到了什么错误
  • 没有错误,应用程序构建正常,但几乎总是白屏并在设备/模拟器上崩溃
  • 尝试直接从xCode运行调试
  • 为什么三幅作品都是红色的?
  • Xcode 控制台不会抛出任何错误。红色文件是我关心的 - 它似乎是 xcode 7,默认情况下确实有 dylibs。我不确定这是否是一个问题......

标签: ios xcode cordova ionic-framework


【解决方案1】:

试试

去掉红色的框架,重新添加如下

 libsqlite3.tbd
 libz.tbd
 libiconv.tbd

在 xcode 7.2.1 中

.dylib 扩展名被替换为.tbd

【讨论】:

  • 之前和现在再次尝试过 - 同样的问题 - 加载时出现白屏。调试 ionic 是一场噩梦。
  • 你必须通过xCode调试它。
  • 那是我不熟悉的东西,离子没有提供任何信息。我不知道 obj-c 或 swift,这就是我使用 ionic 的原因。
  • 当我通过 Xcode 运行应用程序时,没有错误或异常
【解决方案2】:

这可能不是您问题的完美解决方案,但可以帮助您调试错误

Ionic iOS 应用可以在 safari 中调试,在 safari 开发者选项中可以检查应用程序的控制台错误,很多白屏问题都显示在 safari 控制台中

在 Safari 中,Go preferences -> advanced -> Show Develop menu in menu bar. Once you've that, build and run in xcode and then in safari go Develop -> iPhone Simulator -> Your App Name

可以在此网址中找到有关此的更多信息: http://phonegap-tips.com/articles/debugging-ios-phonegap-apps-with-safaris-web-inspector.html

您的应用可能没有与 iOS 框架/Xcode 相关的问题,好像这是应用崩溃的问题,或者应该在 Xcode 控制台中显示一些错误/警告日志

另一个问题可能是插件加载,因为我最近遇到了一些问题,例如插件在 Android 中运行完美,但在 iOS 中无法正常运行,在调用 cordova 的 deviceReady() 事件后通过初始化插件解决了这个问题,现在它在 iOS 中运行良好

【讨论】:

  • 感谢您的回答 - 我已经尝试过了,但它不起作用。我在 ios 模拟器上的 xocde 中运行该应用程序并打开 safari,去开发并选择模拟器,但没有显示任何内容。我什至在远程检查员控制台中尝试过window.location.reload(),但白屏仍然存在。我认为当它白屏时,它不会将远程调试器附加为window says Web inspector - Simulator - myApp - (null) 的标题。当应用偶尔启动时,它没有(null)
  • 我直接调用的插件,例如 $cordovaSplashscreen 和 $cordovaGoogleAnalytics 都在 `$ionicPlatform.ready()` 内部,其他插件(例如条形码扫描仪)附加到内部的点击事件控制器。还有其他方法来初始化它们吗?
  • 确认应用在浏览器和安卓系统中运行良好。只有 ios 有问题。
  • 是的,当应用程序正常启动时,它会在调试中显示页面,例如在我的情况下为“Web inspector - Simulator - myApp - index.html”,即使您从 safari (cmd + R) 重新加载页面,safari 控制台仍保持空白? $ionicPlatform.ready() 是在 Ionic 中初始化自定义插件的正确方法
  • 当应用程序出现白屏时,我什至无法使用检查器查看标记。我目前正在将 ios 回滚到 cordova ios 3.9.2 以查看是否有帮助。看起来他们几天前发布了 4.1.0,但我似乎无法使用 cordova platform add ios@4.1.0 添加它 :(
猜你喜欢
  • 2018-08-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-06
  • 2012-07-13
  • 2021-12-27
  • 1970-01-01
相关资源
最近更新 更多