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 分发的主要内容,如果未能解决你的问题,请参考以下文章
使用 Google MLKit cocoapods 的 iOS Ad-hoc 分发