自从升级到Xcode 4.3.x之后,我在组织器中归档的iOS应用程序没有图标(但我的Mac OS X应用程序有图标)。
特别是一个iPad应用程序,我提供了2个图标(普通大小和Retina尺寸),但是我在我的存档中没有看到它的图标。
“xcode-select -print-path”返回“/Applications/Xcode.app/Contents/Developer”(我认为这是正确的设置,因为我想在终端上使用xcodebuild和xcron)。
编辑:经过调查,我发现截至Xcode 4.3.2,存档正在使用嵌入在iOS5 CFBundleIcons属性中的CFBundleIconFiles的第一项来显示,但是如果您保留文件的.png扩展名,则不起作用。
关于苹果文档所述内容:
使用CFBundleIcons键指定图标文件时,最好省略图像文件的文件名扩展名。如果包括文件名扩展名,则必须明确添加所有图像文件的名称(包括任何高分辨率变体)。当省略文件名扩展名时,系统会自动检测高分辨率变体的文件,即使它们未包含在数组中。
鉴于您不希望将图标文件命名为扩展名(参见上文),仅在.plist中提及“ipad”,当您的存档实际包含“ipad”和“ipad@2x”时,是行不通的。我必须在.plist中同时提及两者,以便在Retina设备上实际使用视网膜版本。
但是,没有.png扩展名的图标无法通过验证,当您尝试提交到应用商店时。图标现在让我的生活变成了噩梦。
有关TestFlight支持图标的信息:
TestFlight似乎不支持没有扩展名的图标文件,因为我删除了我的文件.png扩展名后,在此服务上看不到我的图标。
特别是一个iPad应用程序,我提供了2个图标(普通大小和Retina尺寸),但是我在我的存档中没有看到它的图标。
“xcode-select -print-path”返回“/Applications/Xcode.app/Contents/Developer”(我认为这是正确的设置,因为我想在终端上使用xcodebuild和xcron)。
编辑:经过调查,我发现截至Xcode 4.3.2,存档正在使用嵌入在iOS5 CFBundleIcons属性中的CFBundleIconFiles的第一项来显示,但是如果您保留文件的.png扩展名,则不起作用。
关于苹果文档所述内容:
使用CFBundleIcons键指定图标文件时,最好省略图像文件的文件名扩展名。如果包括文件名扩展名,则必须明确添加所有图像文件的名称(包括任何高分辨率变体)。当省略文件名扩展名时,系统会自动检测高分辨率变体的文件,即使它们未包含在数组中。
鉴于您不希望将图标文件命名为扩展名(参见上文),仅在.plist中提及“ipad”,当您的存档实际包含“ipad”和“ipad@2x”时,是行不通的。我必须在.plist中同时提及两者,以便在Retina设备上实际使用视网膜版本。
但是,没有.png扩展名的图标无法通过验证,当您尝试提交到应用商店时。图标现在让我的生活变成了噩梦。
有关TestFlight支持图标的信息:
TestFlight似乎不支持没有扩展名的图标文件,因为我删除了我的文件.png扩展名后,在此服务上看不到我的图标。
CFBundleIconFiles
数组中包含Icon
(而不是Icon.png
)。 - Simon Whitaker