应用扩展图标未显示

4
我有一个应用程序扩展(Fileprovider-Extension),当我更改FileProvider位置时,图标不会显示出来(请参见屏幕截图)。这只会发生在iOS版本为8.4的设备上(包括模拟器)。

enter image description here

我已经检查过了:
  • 扩展有自己的images.xcasset目录
  • 这个images目录集为所有可能的分辨率设置了一个图标
  • 扩展目标的构建设置已更新到此资产目录,也包括我想要作为扩展应用程序图标的Imageset
  • Asset-Catalog已在扩展目标的"复制Bundle资源"阶段

当我(最初)点击更多按钮以管理我的位置时,在iOS 8.4设备上也可以看到来自Host-Application的AppIcon...这真的令我困惑。

另一台运行iOS 8.1的设备在该点显示一个图标,但这不是扩展xcasset目录中的图标,而是显示Host-Application的AppIcon。

我还尝试了这个问题的答案:SO: Why isnt my ios8 application action extension app icon showing up,但没有任何帮助。

有人能给我一个提示吗?我错过了哪个小细节?

3个回答

6
  1. 在我的情况下,我首先添加了一个新的资源目录到我的扩展程序中。

  2. 在该资源目录中,我使用底部的+菜单添加了一个新的AppIcon。请注意名称为:AppIcon

  3. 然后,我将我的图像添加到新的AppIcon中。

  4. 接着,在Targets下,我选择了我的扩展程序,然后在Asset Catalog Compiler - Options下的Build Settings中,我将AppIcon添加到Asset Catalog App Icon Set Name字段中。


我的解决方案唯一的区别是你把图像命名为“AppIcon”,而在我的项目中它被命名为“Icon”。如果我回到那个项目,我会尝试一下;)谢谢你的帮助! - matzino

4
您需要为您的应用程序扩展添加一个单独的资源目录,因为您的应用程序和扩展程序不共享文件。
在Xcode浏览器中右键单击您的应用程序扩展文件夹 -> 新建文件... -> 资源 -> 资源目录。
然后将应用程序图标添加到您的资源目录中。在Xcode浏览器中选择资源目录 -> + -> 应用程序图标和启动图像 -> 新的iOS应用程序图标 -> 设置名称: AppIcon。
最后一步:您需要设置资源目录应用程序图标。进入您的扩展程序的构建设置并搜索:Asset Catalog App Icon Set Name,然后输入AppIcon。
完成!

我的应用程序和扩展程序共享很多文件。 - SAHM

2
以下是最佳答案:
1. 选择项目 - 转到“建立阶段”; 2. 扩展“编译源代码”; 3. 添加主项目的“images.xcassests”。
以上步骤的最大优势是“内存管理”和“减小项目大小”。
希望有所帮助...

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接