Today 小部件未在设备上启动(适用于模拟器)

Posted

技术标签:

【中文标题】Today 小部件未在设备上启动(适用于模拟器)【英文标题】:Today Widget Not Launching On Device(works on Simulator) 【发布时间】:2015-04-16 08:55:19 【问题描述】:

您好,我有一个很奇怪的问题。我的今天小部件在模拟器中运行得非常好,但是当我选择在真实设备上运行它并选择“今天”应用程序时,xCode 只是说“在 XXX 的 iPhone 上运行今天”,但在该设备上没有小部件。我检查了不包括部分,它也不存在。

我查了很多,大部分人都有三类问题:

    缺少 64 位架构。我的配置是: 不同的应用和扩展前缀 - 我的完全一样(当然,为小部件添加了 .TodayWidget) 小部件中的一些内部崩溃 - 但是当这种情况发生时,您至少可以看到小部件标题。此外,我的小部件在模拟器中运行良好。

所以任何建议都会受到高度赞赏?我尝试过干净的项目,将其从重启 xCode 的设备中删除...我正在使用 xCode 6.2 并在 iPhone 5(ios 8.2) 和 iPhone 6+(8.2) 上尝试过

更新

将设备更新到 iOS 8.3,因此将 xCode 更新到 6.3 似乎可以解决问题。但是我担心它是否可以在其他 iOS 8.2 设备上运行。

解决方案

正如@gaRik 指出的那样,我的小部件部署目标设置为 8.3,这导致小部件在 8.2 设备上失败。

【问题讨论】:

你在schemes列表中选择了扩展目标来运行吗? 是的,它在那里被选中。现在发生了奇怪的事情 - 我已经将 xCode 更新到 6.3 和 6+ 到 8.3,现在在 6+ 上出现了今天的小部件,但是带有 8.2 的 iPhone 5 仍然有同样的问题? 检查 Widget 目标(构建设置 -> iOS 部署目标(必须小于或等于您设备上的 iOS 版本)) @gaRik 请将此添加为答案,以便我接受。确实我的部署目标太高了。 【参考方案1】:

检查 Widget 目标(构建设置 -> iOS 部署目标(必须小于或等于您设备上的 iOS 版本))

【讨论】:

感谢@gaRik,但在我的情况下,我的设置目标版本是 14.2,而我的设备版本是 14.4 仍然无法正常工作,它在模拟器中显示的黑色部分就像我做的设计一样完美。跨度>

以上是关于Today 小部件未在设备上启动(适用于模拟器)的主要内容,如果未能解决你的问题,请参考以下文章

从 android 11 小部件启动另一个应用程序?

无法在模拟器中运行 Today 扩展小部件(iOS 8)

iOS 今日视图未在设备上运行

应用程序小部件点击在模拟器上工作,但在真实设备上第一次工作,然后 onclick 永远不会响应

Today Widget 扩展的问题

如何本地化 iOS 14 小部件的名称 (CFBundleDisplayName)