【问题标题】:Archived macOS app launches with blank window存档的 macOS 应用程序以空白窗口启动
【发布时间】:2019-11-13 10:03:32
【问题描述】:

我有一个带有 ViewController 的 macOS 应用程序,它可以重命名和调整应用程序窗口的大小,有几个按钮,以及一个在启动时加载默认网页的 WKWebView。

项目本身是一个 .xcworkspace 文件,因为它包含用于 HTML 抓取的 CocoaPod SwiftSoup。

该应用在模拟器中运行良好。当它启动时,它看起来像这样:

我想在 Xcode 之外的 Mac 上运行这个应用程序。我不打算将它发布到 App Store,它仅供我个人使用。

我使用 Products > Archive 将项目存档,然后选择“分发应用程序”,然后选择“复制应用程序”以创建包含存档应用程序的目录。这一切都很好。

当我启动应用程序时,我只是得到一个大小不正确的空白无标题窗口,没有来自我的 Storyboard 的按钮或 WKWebView:

应用没有挂起。我可以打开“关于”菜单项等,所以我知道应用程序正在运行。它似乎没有使用我的 Storyboard 来绘制 UI。

什么会导致存档的应用程序与模拟器中运行的应用程序不同?

有趣的是,我早在 11 月就可以在 High Sierra 下存档同一个应用程序,所以我猜这个问题与 Cocoa Pods 和/或 Mojave 相关。

我的调试让我怀疑是 CocoaPods 还是 Mojave 相关

我的调试: 1)调试时,我从11月恢复了项目的一个版本。当我存档恢复的项目时,我得到了相同的空白非运行应用程序。

2) 我能够归档另一个不使用 Cocoa Pods 的全新项目,所以我猜这是 CocoaPods 和/或 Mojave 相关问题...

任何有关如何进行调试或帮助解决此问题的建议将不胜感激!

我在 Mojave 10.14.5 下使用 Xcode 10.2.1。

【问题讨论】:

标签: xcode macos wkwebview archive


【解决方案1】:

这个问题是由 WKWebView 引起的。 因此,您需要从 IB 中移除 WKWebView,然后使用代码创建它并将其添加到视图中。

参考:
https://forums.developer.apple.com/thread/116047
http://www.openradar.me/23699297

【讨论】:

  • 为什么觉得WKWebView有问题?这是莫哈韦沙漠的新问题吗?以前,我能够在 High Sierra 的 IB 中使用 WKWebView 发布此代码的一个版本。你能指出我在 Apple 文档中对该问题的描述吗?我找不到对此的任何引用。
  • @SDGray 我找不到有关该问题的任何问题。我只是从 IB 中删除 WKWebview,然后它与 Mojava 一起正常运行。我的项目比较老,可以在High Sierra上正常运行,所以我认为是WKWebView的问题,无法加载其他视图。
  • @IWECon 太棒了!您共享的 Apple Developer Form 链接为我提供了简单的编码示例。谢谢!
猜你喜欢
  • 2013-02-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多