更新:收到来自 Apple 的邮件,说该错误/问题现已修复,下一个 SDK 版本不会出现此问题。和平!
我的 AppDelegate 的代码中有这个:
- (void) customizeAppearance {
[[UISwitch appearance] setOnTintColor:[UIColor colorWithRed:0 green:175.0/255.0 blue:176.0/255.0 alpha:1.0]];
[[UISwitch appearance] setTintColor:[UIColor colorWithRed:255.0f/255.0f green:255.0f/255.0f blue:255.0f/255.0f alpha:1.000f]];
[[UISwitch appearance] setThumbTintColor:[UIColor colorWithRed:0.9 green:0.9 blue:0.9 alpha:1.0]];
}
然后我打电话给- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
我也使用ARC。在 iOS 6 中,我的应用程序不断崩溃。我启用了 NSZombie,它一直说:*** -[UIDeviceRGBColor release]: message sent to deallocated instance 0x9658eb0
现在我已经实现了上述的一个完全可重现的流程。当我在customAppearance 中单独注释掉setThumbTintColor 行时,一切正常。当我改用 setThumbTintColor 线时,应用程序每次都以完全相同的方式崩溃。
对于任何使用 UISwitch/setThumbTintColor/UIColor 的人来说,这是一个已知问题吗?如果不是开关颜色,还有什么原因?