当我使用Xcode6.4在El Capitan上构建应用程序时(Xcode7现在没有选项),所有图像/图标(AppIcon除外)都没有显示,或者看起来很乱.
查看资产编译器的输出看起来很好,但我怀疑有两个输出可能是相关的,但我很不确定:
2015-10-02 12:26:53.569 ibtoold [28899:273288] NSFileCoordinator什么也没做.
2015-10-02 12:26:54.906 ibtoold [28899:276436] CoreUI(DEBUG):CSIGenerator使用'LZFSE'压缩coreui版本(362.000000)
可能是LZFSE压缩混乱使Yosemite无法正确解压缩,如果是这样,有没有办法覆盖它?
在El Capitan上运行应用程序时没有问题.
任何建议都非常欢迎.
更新: 当应用程序在Yosemite上运行时,这些消息将输出到控制台:
02.10.15 22.31.59,914 AppName [452]: - [CUIThemeRendition newImageFromCSIDataSlice:ofBitmap:usingColorspace:] CSI中不支持的像素格式得到36864
02.10.15 22.31.59,914 AppName [452]:无法从csi位图数据创建未切割的图像.
他们似乎在Xcode的Beta 3有这个问题的iOS7 这里
但现在突然再次出现似乎很奇怪,我的目标是OS X.
更新: 所以我升级到Xcode7,整个问题消失了.所有图像和图标现在都可以在El Capitan和Yosemite中正确显示.
我正在尝试通过代码更改标签栏中显示的图像.我目前正在使用Swift和Xcode 6 beta 3.我在Images.xcassets中导入了tabBarImage.png和tabBarImage@2x.png,在AppDelegate中我写了这个:
func application(application: UIApplication!, didFinishLaunchingWithOptions launchOptions: NSDictionary!) -> Bool {
let mainColor = UIColor(red: 1.0, green: 91.0/255.0, blue: 84.0/255.0, alpha: 1.0)
UITabBar.appearance().barTintColor = mainColor
let tabBarController = self.window!.rootViewController as UITabBarController
var tabBarSubcontrollers = tabBarController.viewControllers as [UIViewController]
let tabBarImages = ["tabBarImageOne", "tabBarImageTwo", "tabBarImageThree"]
for index in 0..<(tabBarSubcontrollers.count) {
let tabBarImage = UIImage(named: "\(tabBarImages[index])").imageWithRenderingMode(UIImageRenderingMode.AlwaysOriginal)
let newTabBarItem = UITabBarItem(title: "", image: tabBarImage, selectedImage: tabBarImage)
newTabBarItem.imageInsets = UIEdgeInsetsMake(5.0, 0.0, -5.0, 0.0)
tabBarSubcontrollers[index].tabBarItem = newTabBarItem
}
return true
}
Run Code Online (Sandbox Code Playgroud)
如果我在模拟器上运行它可以正常工作并在标签栏中显示图像.如果我在我的iPad(使用iOS 7.1.1)上运行它,它不会加载图像并显示这个奇怪的错误:
Unsupported …Run Code Online (Sandbox Code Playgroud)