我已经看过过去的问题,例如iOS 8 Action Extension icon sizes和Why isn’t my iOS8 Application Action Extension App Icon showing up?,但它们没用.
我创建了一个Xcode模板项目,纯粹是为了尝试其他问题中提到的每一个组合,仍然无济于事.
1)提到的第一件事是动作扩展应该有自己的资产目录,好在这里:
2)其次它应该包含一个app图标集,这里是:
3)第三,人们说他们必须将目标成员资格添加到扩展和应用程序.在这里也是如此(在所有这些事情中,我尝试过变体,例如成员资格只是扩展,只是应用程序,两者)
4)第四,人们提到他们必须将它添加到编译源,这里,以及它被复制到bundle资源中:
5)有人说它也需要被复制到容器应用程序的包中,在这里,并且为了好的措施,它也被添加为它的编译资源:
6)一个人说有必要将容器应用程序资产添加到扩展包中,我无法看到它是如何工作的,因为容器应用程序中的图标是彩色的,不符合扩展图标的要求,但是地狱,不妨尝试一切正确的方法,而我们在这里可以随处添加资产:
7)资产图标本身很重要,彩色图标不显示,但无论如何我都试过了.一个简单的黑白图像被描述为白色部分显示为灰色,但无论如何我都尝试过.尝试不受支持的图标只是绝望和实验,当然我实际上使用的是带有透明背景的图标.当在这里发布时,它显示在这个网页上当然全白,但非黑色部分实际上是完全透明的,其alpha值为0:
但是,尽管尝试了上述所有各种步骤的许多组合,这就是它在设备上的样子:
这是使用iOS 10.n,最新的10.7(它没有适用于任何测试版)和Xcode 8.6.如果我从使用动作扩展程序的应用程序商店下载应用程序,那么它们的图标就会出现,因此10 beta版本没有问题.问题在于使用Xcode beta构建应用程序,还是我错过了一些步骤 – 如果是这样的话,那又怎么样?
最后找到了解决方案 – 为了使其工作,还需要设置扩展的Build Settings部分的Asset Catalog编译器选项,以指定资产目录中设置的app图标的名称:如何设置一个动作图标确实是iOS中最令人震惊的严重记录方面,完全令人震惊.