IOS 8动作扩展图标在设备上为空白(在模拟器中工作)

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (94)

编辑2:

我把问题归结为我能做的最简单的项目。

我创建了一个新的单一视图应用程序,并立即添加了一个新的Action扩展目标。我在.xcAsset文件中创建了一个新的图标,并添加了一个iPad大小的图标(我尝试过填充所有图标,结果是相同的)。

我确保在CopyBundle资源构建阶段中包含Images.xcAsset:

然后,当在模拟器中运行应用程序时,一切都正常!

但是,将编译到设备会产生一个空白图标:

我想这可能意味着我正在使用的PNG文件有问题,但是这里的一切看起来也不错:

以下是我所做的:

  1. 创建了一个工作容器应用程序,该应用程序图标存储在Images.xcAsset中,然后我创建了一个ActionExtensionTarget作为同一个项目的成员。
  2. 将Images.xcAsset从我的包含应用程序添加到我的扩展的“CopyBundle Resources”构建阶段。UIImage.imageNamed(...)在我的分机里。
  3. 在扩展设置的常规选项卡中,我将“AppIcon Source”指向了“AppIcon和LaunchImage”下的“AppIconSource”,指向Images.xcAsset的资源“AppIcon”,这与我的包含应用程序使用的相同。
  4. 当这不起作用时,我做了一些进一步的阅读,发现Action扩展需要一个“alpha掩码”样式的映像。我在我的.xcAsset文件中创建了另一个名为“AppIcon-2”的项目,并填充了各种大小的应用程序图标,除了作为一个1色+透明的png。我指出了这个新的“AppIcon-2”扩展的“AppIcon和启动图片”。

不过,我的动作扩展图标是一个空白的白方。还有什么步骤我遗漏了吗?是否有一些非常特定的格式,阿尔法掩码必须采用?

我也对一些答案(比如上面链接的答案)感到困惑,这些答案似乎暗示通过在构建阶段添加.xcAsset来解决这个问题。难道大多数应用程序图标的不透明吗?iOS如何从完全不透明的应用图标生成alpha掩码?

提问于
用户回答回答于

下面是我提交的一份报告:

摘要:动作扩展图标在消息和UIActivityViewController中显示得很好,但是当它从PhotosApp中出现时,图标是空的。

编辑:他们关闭了一个副本的ID:票证ID:17208813进度!

用户回答回答于

对我来说起作用的是遵循TomHarrington的答案,但也要确保扩展图标的“Target成员资格”(右侧窗格)同时包括扩展目标和应用程序目标。(在构建阶段,也应该在复制捆绑资源中列出这两个目标。)

此外,请注意,你的扩展图标必须有一个完全透明的背景,而不是纯白。任何白色,或除透明以外的任何颜色,都将呈现为纯正的深灰色

所属标签

可能回答问题的人

  • 嗨喽你好

    7 粉丝480 提问9 回答
  • 富有想象力的人

    3 粉丝0 提问7 回答
  • uncle_light

    5 粉丝518 提问6 回答
  • 人生的旅途

    10 粉丝484 提问6 回答

扫码关注云+社区

领取腾讯云代金券