小编Mic*_*man的帖子

无法识别的选择器UIDeviceRGBColor countByEnumeratingWithState:objects:count:

我知道这是一种欺骗,但我还没有足够的声誉来评论原帖,虽然我没有答案,但我确实有更多有用的信息(一个具体的例子).主持人,随意将其移动到正确的位置.

当使用最新的XCode 8 beta 6(iOS 10 SDK)编译我的代码时,我得到一个异常"由于未捕获的异常终止应用程序'NSInvalidArgumentException',原因:' - [UIDeviceRGBColor countByEnumeratingWithState:objects:count:]:无法识别的选择器发送到实例0x600000071340'"

这在调用期间发生:

    auto viewController = [[[UIViewController alloc] initWithNibName:@"ViewController" bundle:nil] autorelease];
Run Code Online (Sandbox Code Playgroud)

我已经通过将我的项目削减到最低限度来解决问题,这将编译并仍然表现出问题.您可以在这里下载:

示例项目

请注意,我删除了大量代码,几乎所有类都消失了,这导致从xib引用的不存在的类中出现了很多警告(而不是错误).但这没关系,代码仍然可以编译并运行iOS 9 SDK.然而,在使用iOS 10 sdk进行编译后,它会在模拟器和运行iOS 9的设备上崩溃.

您可以通过在文件"HackForUnrecognizedSelectorInIOS10.m"中将"#if 0"更改为"#if 1"来解决此问题.这会为UIColor添加一个定义缺少选择器的类别.但显然你无法将其添加到运输代码中,这只是一个暂时的权宜之计,可以继续开发.

我提交了一份错误报告(28153870).但是,如果有任何人有关于如何避免这个问题没有丑陋的黑客的任何更多的信息,欢迎任何信息.

谢谢

米歇尔科尔曼

xcode objective-c ios ios10 xcode8-beta6

14
推荐指数
1
解决办法
5642
查看次数

标签 统计

ios ×1

ios10 ×1

objective-c ×1

xcode ×1

xcode8-beta6 ×1