[英]iOS 7 : 'isa' is deprecated
当我在iOS7中运行我的应用程序时,我得到警告“不赞成使用'isa'”,我不知道如何解决此警告消息。 请对此有任何帮助。
array->isa = _JKArrayClass;
包括<objc/runtime.h>
。
替换所有内容,例如array->isa = _JKArrayClass;
与object_setClass(array, _JKArrayClass)
像class = array.isa
和class = object_getClass(array)
所有东西
我想我会为你们的Cocoapods用户分享我的解决方案。 (如果您找到了更好的解决方案,请在评论中让我知道)
我正在使用Cocoapods,因此,我不想修改要导入的库的源代码。问题是由于Cocoapods将“ isa的直接用法”值设置为“是(视为错误,处理)”引起的。 ”,从而导致所有自动构建失败。
我通过将其添加到我的Podfile中来解决了这个问题:
post_install do |installer_representation|
installer_representation.project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['CLANG_WARN_DIRECT_OBJC_ISA_USAGE'] = 'YES'
end
end
end
这样,直接使用“ isa”将显示为警告,但不会导致自动构建失败。
但是在arm64 iOS设备构建(使用Xcode 5.1.0)中,奇怪的是CLANG_WARN_DIRECT_OBJC_ISA_USAGE ='YES'选项将无法正确应用(视为错误)。 如果需要构建(包括arm64),则只能使用CLANG_WARN_DIRECT_OBJC_ISA_USAGE ='NO'选项。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.