【问题标题】:iOS 8 Today widget does not appear when running the projectiOS 8 Today 小部件在运行项目时不出现
【发布时间】:2014-09-28 10:08:29
【问题描述】:

我有一个包含 2 个目标的应用,并添加了一个今日小部件。当我运行它时,它不会出现在今天通知编辑/“不包括”部分中,它通常第一次出现在我的其他应用程序中。知道可能出了什么问题吗?我得到了扩展的权利缺失警告,但我也得到了那些有效的警告(尝试添加一个,没有帮助)。

另外,如果我尝试将其作为调试菜单下的进程附加,它根本不会出现/

我尝试从模拟器中删除应用程序并重置等,我尝试使用另一个具有多个目标的应用程序,因为我认为这可能是问题,但另一个有效。

其他人有类似的经历或可以提出任何建议吗?

2014 年 10 月 6 日编辑:我仍然没有找到解决方案,但我的项目没有使用 arm64。这可能是问题吗?我曾尝试从其他项目中删除 arm64,但我认为 Xcode 6 不允许,所以我无法对其进行测试,有人知道这是否可能吗?

【问题讨论】:

标签: xcode ios8 xcode6 ios8-today-widget


【解决方案1】:

就我而言,小部件未显示在小部件列表中的原因是部署目标编号过高。对于小部件,我有 9.0.但是,我将我的 iPhone 从 9.0 降级到 8.4 并且忘记为小部件更改它。

改成8.4后,小部件立即出现在iPhone上。

【讨论】:

  • 这基本上也是我的问题,但有一点不同。我将我的主应用程序设置为 8.2 的部署目标,但默认情况下,小部件以 9.x 的形式出现(不记得次要版本)。由于我在 8.4 模拟器中进行测试,因此该小部件没有出现。我的观点是,我假设小部件将采用与主应用程序相同的部署目标。它没有。
【解决方案2】:

确保您在模拟器中运行的是包含应用程序而不是扩展程序。

【讨论】:

    【解决方案3】:

    当应用程序和扩展程序之间的 bundleID 不匹配时,我发现了这个问题。

    示例(正确):

    App bundleid:com.yourcompany.myapp

    Ext bundleid:com.yourcompany.myapp.myextension

    扩展需要有整个应用的bundleID,后跟它自己的名字。

    【讨论】:

      【解决方案4】:

      确保:

      1. “部署目标”与包含应用程序的相同(@vomako 的答案);
      2. Bundle ID 遵循正确的格式:“com.yourcompany.myapp.myextension”,而您包含的应用程序是“com.yourcompany.myapp”(@RohitGupta 的答案);
      3. 调试时,需要运行widget/extension scheme(这里不包含app的scheme。但如果归档提交到App Store,请使用包含appsscheme);
      4. “构建设置”的“WRAPPER_EXTENSION”是“appex”。

      所有答案(甚至官方文档)都没有提到第 4 点,但发生在我的案例中。

      我在工作区中为我现有的项目创建了 Today Widget,但它根本不起作用。但是,当我使用 Today Widget 创建纯新项目时,它运行良好。然后我一一对比Build Setting,发现了这个区别:为我现有项目创建的是“app”,而不是“appex”。

      改成“appex”后,就可以了。


      另外,作为提示,为了通过 App Review,您必须:

      • 在小部件/扩展的架构构建设置中包含 arm64 (iOS) 或 x86_64 架构 (MacOS);
      • 将“iPhone/iPad”(有时称为通用)指定为应用扩展的目标设备系列,无论您为包含的应用选择哪个目标设备系列;
      • 链接到嵌入式框架的包含应用程序必须包含 arm64 (iOS) 或 x86_64 (OS X) 架构构建设置;
      • 始终选择“Frameworks”作为您的 Copy Files 构建阶段目标(不要选择“SharedFramework”目标)。

      【讨论】:

        【解决方案5】:

        在我的情况下,应用目标的构建阶段“嵌入应用扩展”缺少 appex 文件:

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-01-14
          • 1970-01-01
          • 2016-12-02
          • 1970-01-01
          • 2014-09-21
          • 2014-07-27
          相关资源
          最近更新 更多