【发布时间】:2023-10-16 16:26:02
【问题描述】:
更新:收到来自 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 的人来说,这是一个已知问题吗?如果不是开关颜色,还有什么原因?
【问题讨论】:
-
我不知道为什么会这样,但是如果你可以在一个基本的示例应用程序中重现它,你可能想在bugreport.apple.com发布一个错误
-
见raywenderlich.com/21703/user-interface-customization-in-ios-6。不会在他的示例应用程序中崩溃。我认为这是另一回事。我在我的应用程序中搞砸了什么,我不知道。
-
什么时候崩溃?从您的帖子中调用此行?如果你在
-application:didFinishLaunchingWithOptions:中调用它,应该很容易找到,因为目前还没有执行太多。如果它在其他地方崩溃,看看周围的一些代码可能会很有趣。 -
此处发布的代码运行良好。问题一定出在其他地方。您是否尝试设置异常断点?
-
这仍然存在。备案雷达上还没有任何活动。
标签: iphone ios uicolor uiswitch uiappearance