Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios NSClassFromString在升级到XCode 6后停止工作_Ios_Objective C_Iphone_Xcode - Fatal编程技术网

Ios NSClassFromString在升级到XCode 6后停止工作

Ios NSClassFromString在升级到XCode 6后停止工作,ios,objective-c,iphone,xcode,Ios,Objective C,Iphone,Xcode,尝试使用以下代码创建类时 id obj = [[NSClassFromString(className) alloc] init]; 我现在的成绩是零 这个问题在我升级到XCode 6时出现 以前,这段代码适用于所有iOS平台(当然,iPhone 6以前没有经过测试)。没有对代码进行任何修改 该问题出现在iPhone 5s和任何较新型号上,无论iOS版本如何(使用iPhone 5s物理设备以及运行iOS v7.03、v7.06、v7.1和v8.0的iPhone 5s和iPhone 6模拟器进行

尝试使用以下代码创建类时

id obj = [[NSClassFromString(className) alloc] init];
我现在的成绩是零

这个问题在我升级到XCode 6时出现

以前,这段代码适用于所有iOS平台(当然,iPhone 6以前没有经过测试)。没有对代码进行任何修改

该问题出现在iPhone 5s和任何较新型号上,无论iOS版本如何(使用iPhone 5s物理设备以及运行iOS v7.03、v7.06、v7.1和v8.0的iPhone 5s和iPhone 6模拟器进行测试)

它不会出现在iPhone5或更早版本上(在iPad3物理硬件、iPhone5和iPhone4s模拟器上进行测试,并运行iOS v7.03、v7.06、v7.1和v8.0)

即:

  • 如果在iPhone5或更早版本上进行测试,它将起作用
  • 如果在iPhone5s或更高版本上进行测试,则不会
其他说明:

  • 我们试图加载的类是一个自定义插件类 创造了。(我们正在使用cocos2dxv3中的插件系统)
  • 该类在子项目中定义
  • 我们在项目设置中设置了-ObjC链接器标志
我使用以下代码获得相同的行为:

id obj = [[NSBundle mainBundle] classNamed: className];
有人对我如何解决这个问题有什么建议吗


我看到有人提到NSClassFromString可能需要在类名前加上模块名(例如:使用@“ModuleName.ClassName”),但我无法得到任何组合/变体。它不工作的所有设备都是64位的,这很可疑。。。但可能是巧合,您是否添加了arm64作为平台?还要验证(NSClassFromString(className))是否有效。啊,我们的体系结构是arm64/armv7。另外,NSClassFromString(className)调用返回一个nil(即:不带alloc+init)