我在Apple Store上有一个visionOS应用程序,但在Xcode更新到16.0后无法编译最新版本,因为出现以下消息:
The visionOS App Icon "AppIcon" must have at least 2 layers with applicable content. Although it has 3 layers, none have applicable content.
事实证明该消息具有误导性,因此我将问题保留在这里,以防其他人被误导。
3 个图像(前/中/后)中每一个的格式为
我下载了Apple的visionOS示例应用程序来验证图标,但不幸的是它们不包含任何图标
我检查了Apple 图标开发指南e,但在visionOS部分找不到我做错的任何内容。并且在 visionOS 人机界面指南中也找不到任何内容。
我使用Figma的Apple Vision Pro图标设计并重新创建了三个图标层,但错误仍然存在。
我尝试从背景层中删除 Alpha 通道。
我以前可以使用这个 3 层应用程序图标分发visionOS的应用程序,但现在被拒绝了。
问题是由我的项目有两个资源文件引起的,都包含3层visionOS图标。其中一个资源文件是通用资源文件,还包含其他资源,例如颜色和图像,但第二个资源文件仅包含 3 层图标,专门分配给visionOS 目标。
解决办法是把通用文件中的3层图标删除。然后(误导性的)错误就不再发生,iOS 和visionOS 文件都可以正确编译。
请注意,如果您包含两个具有相同名称的编码工件(例如视图),那么编译器将显示一条良好的错误消息。只是资产文件需要特别注意。