【问题标题】:iOS 8 Widget Ad Hoc distributioniOS 8 Widget Ad Hoc 分发
【发布时间】:2014-11-09 17:48:29
【问题描述】:

我正在尝试使用临时配置文件分发一个简单的今日小部件。

当在调试模式下从 XCode 调用时,该小部件可以正常工作, 但在设备上安装 ad-hoc 应用程序时显示为空。

我已经断言了

  • 配置文件正确
  • 应用(几乎没有代码)启动并显示信任请求
  • preferredContentSize 已设置
  • 小部件出现在小部件列表中(编辑模式)
  • 小部件出现在通知中心,带有它的标题, 但高度为零。

    有什么线索吗?谢谢。

更新:

小部件实际上已执行(loadView、viewDidAppear、...)但崩溃了。鉴于它几乎是空的,并且它在调试模式下工作,这很奇怪。崩溃报告没有有用的信息。

更新 2:

将 MKMapView 添加到控制器的视图会使其崩溃。很奇怪。

【问题讨论】:

  • 您的调试和部署构建设置会有所不同。尝试匹配它们(我会更改调试版本以匹配部署版本)。如果无法修复,请使用版本控制进行还原。

标签: ios xcode ios8 ios8-today-widget


【解决方案1】:

小部件似乎由于内存压力而崩溃。 MKMapView 已知 内存不足。

【讨论】:

  • 有趣。你用了多少内存?常规应用程序可以使用大约 500MB(在 1GB 的硬件上),但今天的小部件可能必须使用更少。
  • 我敢打赌这要少得多。我的估计是 16MB
【解决方案2】:

您可以检查的几件事:

  1. 您的捆绑包标识符在 ad hoc 配置文件上是否不同?如果是这样,您需要为 Extension 和 App 创建一个新的 info.plist,以便它们匹配。
  2. 您是否使用了任何不支持 64 位 (Arm64) 的依赖项?我看到了一个问题,即扩展二进制文件没有使用不支持 64 位的旧框架正确创建。它在 armv7 设备上运行良好,但在 arm64 上没有如您所描述的那样显示。
  3. 您使用的是应用程序组容器吗?名称必须与临时配置文件中的名称相匹配。

目前我能想到的就这么多。我在运行 iOS 8 测试版时遇到了类似的问题,我必须不时重启设备才能解决您描述的症状,但目前还没有发布版本。希望这会有所帮助。

【讨论】:

  • 配置文件上的包 id 是 foo.bar.* ,应用程序 id 是 foo.bar.myapp ,小部件 id 是 foo.bar.myapp.mywidget 。我将检查设备日志以查找相关错误。 2和3应该没问题。感谢您的宝贵时间!
猜你喜欢
  • 2016-01-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-26
  • 2013-04-05
  • 1970-01-01
相关资源
最近更新 更多