为什么不是';我的iOS8应用程序操作扩展应用程序图标是否显示?

为什么不是';我的iOS8应用程序操作扩展应用程序图标是否显示?,ios8,xcode6,ios-app-extension,Ios8,Xcode6,Ios App Extension,我的应用图标只是一个灰色的超级椭圆,尽管我在目标应用图标和启动图像中指定了图标资产目录。主应用程序中的资产目录无法从应用程序扩展访问,因为它们是两个单独的应用程序包,只能共享框架 您需要在action extensions文件夹中创建一个单独的资产目录,并在Targets中引用该目录。编辑:这对我的iphone有效,但对ipad模拟器无效。制作新图像(60x60和76x76)时只需黑白即可解决此问题 将image.xcsets添加到扩展目标 以下内容对我创建共享扩展非常有用,但我相信Action

我的应用图标只是一个灰色的超级椭圆,尽管我在目标应用图标和启动图像中指定了图标资产目录。

主应用程序中的资产目录无法从应用程序扩展访问,因为它们是两个单独的应用程序包,只能共享框架


您需要在action extensions文件夹中创建一个单独的资产目录,并在Targets中引用该目录。

编辑:这对我的iphone有效,但对ipad模拟器无效。制作新图像(60x60和76x76)时只需黑白即可解决此问题

将image.xcsets添加到扩展目标


以下内容对我创建共享扩展非常有用,但我相信Action Extension也会这样做。请注意,对于操作扩展,您需要单色版本

如果将资产目录用于主应用程序图标,则应该能够获得扩展以利用相同的资产目录。对我来说,关键是:

  • 选择我的扩展并告诉它使用资产目录。选择主图标正在使用的目录。默认值应为AppIcon

  • 在XCode项目导航器中选择image.xcsets文件

  • 检查我的扩展名,使其包含在目标成员资格中

  • 您可以将
    images.xcasets
    文件添加到右侧边栏文件检查器中
    target Membership
    下的扩展目标中。您采取了哪些步骤来显示图标?我尝试在我的操作扩展目标的新资源目录中设置AppIcon,但没有显示任何内容。图像资源是否在扩展目录中?确保将使用要显示的扩展名编译图像。将相同的xcassets文件引用添加到扩展名项目可以解决此问题。你可能会得到一些关于应用程序图标的编译错误,但是如果你在这之后更改扩展的项目设置中的图标,那应该没问题。我有点好奇这是否真的是真的,因为我在中阅读了这一部分:例如,您可能希望设置数据共享,以允许包含应用程序及其扩展访问大量数据,例如预渲染资产。好奇我是否遗漏了什么。数据共享与本文讨论的资产共享是一个完全不同的概念。您需要考虑数据共享,以便在运行时在应用程序及其扩展之间共享数据。这里不使用的是为什么以及如何在构建项目时包含这两个项目的公共文件。例如,应用程序图标如本例所示。对我来说,它可以在模拟器上工作,但不能在设备上工作。这可能与操作系统访问资产的不同权限有关……我创建了一个新的资产目录,并确保其成员资格是扩展的目标。我还修改了设置以引用我创建的新应用图标图像集。当我编译…`没有一个输入目录包含匹配的标签图标集或名为“AppIconExt”的应用程序图标集。`我可以确认这一点,我自己修复了它。注意,您仍然必须在目标>常规>应用图标和启动图像>应用图标源中指定资产目录。它“自动”工作,就像在苹果文档中一样——对我来说也不是这样。这会导致在每个目标中复制资产。这很好,但请记住:操作扩展将只使用图标的alpha通道。因此,您很可能无法将同一图标用于主应用程序和操作扩展。