iOS 8 Widget Ad Hoc 分发

Posted

技术标签:

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

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

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

我已经断言了

配置文件正确 应用(几乎没有代码)启动并显示信任请求 preferredContentSize 已设置 小部件出现在小部件列表中(编辑模式)

小部件出现在通知中心,带有它的标题, 但高度为零。

有什么线索吗?谢谢。

更新:

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

更新 2:

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

【问题讨论】:

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

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

【讨论】:

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

您可以检查的几件事:

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

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

【讨论】:

配置文件上的包 id 是 foo.bar.* ,应用程序 id 是 foo.bar.myapp ,小部件 id 是 foo.bar.myapp.mywidget 。我将检查设备日志以查找相关错误。 2和3应该没问题。感谢您的宝贵时间!

以上是关于iOS 8 Widget Ad Hoc 分发的主要内容,如果未能解决你的问题,请参考以下文章

iOS Ad hoc 分发 - 关于 Apple 证书

IOS Ad Hoc 分发链接啥都不做

使用 Google MLKit cocoapods 的 iOS Ad-hoc 分发

使用 iOS 7 无线分发 ad hoc

我可以使用应用商店分发配置文件重新签署使用 ad-hoc 配置文件构建的 iOS 版本版本吗?

Xcode 8 无法导出用于 Ad Hoc 分发的存档构建