Xcode 内存警告 - 无法加载任何 Objective-C 类信息

Posted

技术标签:

【中文标题】Xcode 内存警告 - 无法加载任何 Objective-C 类信息【英文标题】:Xcode memory warning - could not load any Objective-C class information 【发布时间】:2015-11-11 19:32:25 【问题描述】:

在使用 Facebook 和 Parse 登录用户时,我只在旧 iPhone4s 上收到此错误。当我在模拟器上运行它时,这个错误永远不会发生。

当它发生时,应用程序只占用了 21.2MB 的内存,这只是我测试 4s 可用内存的 4.2%。

我不太确定从哪里开始修复这个错误。老实说完全迷失了。

2015-11-12 08:09:27.647 APPNAME[3883:426582] 收到内存警告。 警告:无法加载任何 Objective-C 类信息。这将显着降低可用类型信息的质量。 (lldb)

关于这个问题的一些更新,如果你仍然认为它是重复的,我会删除它。虽然您作为副本提出的问题实际上并不能帮助我解决问题。

我可以通过减少同时发生的查询数量并使用 Parse 来部分消除错误。为了首次启动该应用并注册一个新用户,我需要:

用脸书登录 查询 facebook 图表数据 将 facebook 图表数据添加到 Parse 用户 创建信誉表并关联 启动主屏幕 查询信誉 查询条款和条件 查询教程状态

通过删除最后两个,我可以在应用使用的最初几秒内让警告消失。然后我在让应用程序在没有交互的情况下运行 10 分钟后收到警告/错误。

这让我想,如果您在后台同时发生许多查询,会导致这种类型的内存警告吗?或者这纯粹是 Xcode 上的一个错误,正如另一个问题所暗示的那样?

【问题讨论】:

'Communications error: <OS_xpc_error:' while recording video的可能重复 标题是骗人的,但问题讨论的是同样的问题。 我在问题中添加了一些额外的信息。如果您仍然认为它是重复的,请告诉我。 【参考方案1】:

我在构建我的 Cocoa(OS X) 应用程序时遇到了这个警告。但显然它也会发生在 ios 应用上。

warning: could not load any Objective-C class information. This will significantly reduce the quality of type information available

有了这个警告,Xcode 7.3.1 将我带到了 3rd 方库 -SwifyJSON 中的代码行。 但我知道这与 3rd 方库根本无关,因为在警告发生之前它一直运行良好。

我有 MainViewController 和 TabViewController,它有几个自定义视图(当然还有控制器)

在设置我的第二个自定义类的实例以便在它们之间传递数据后,我立即遇到了警告。

在 MainVC 中,我的代码是

private var firstTabVC = FirstTabVC
var jsonInfo:JsonInfoClass  = JsonInfoClass
private var secondTabVC = SecondTabVC // waring had occured after this was added

仅当“jsonInfo”实例行位于“secondTabVC”实例行正上方时,Xcode 才将我带到第 3 方库。 (JsonInfoClass 是使用第三方库处理 JSON 数据的自定义类)

我将有问题的代码行移到了“firstTabVC”行的下方。然后 Xcode 停下来抱怨“加载 Objective-C 类”的事情。我只在“firstTabVC”行收到“EXC_BAD_ACCESS”错误。这就是我开始不相信 Xcode 所说的话的地方。

所以,我去了 SecondTabVC 自定义类,我看到我声明了 MainVC.swft 的实例(我不知道为什么我会这样做)像:

var mainVC:MainViewController = MainViewController()

在其中设置 'self'(MainVC) 以便我可以从 MainVC 传递数据,例如:

override func prepareForSegue(segue: NSStoryboardSegue, sender: AnyObject?) 
    .
    ..
    secondTabVC.mainVC = self
    ....

在我将 SecondTabVC.swif 中的声明更改为

之后
 var mainVC: MainViewController!

警告消失了,工作正常。我希望这对某人有所帮助。

【讨论】:

【参考方案2】:

这个错误今天早上发生在我身上,在我遇到的错误消息之后:“警告:无法加载任何 Objective-C 类信息。这将显着降低可用类型信息的质量。”

但我的情况可能与你的不同。我创建了一个名为“ILViewController”的类,它继承自“UIViewController”并且没有直接拥有属性“view”。当我访问“ILViewController.view”(实际上“ILViewController”没有属性“view”但“UIViewController”有)时,发生了这个错误。所以我的建议是您应该检查您的自定义类是否不拥有某些属性,但您仍然可以访问它们!祝你好运!

【讨论】:

以上是关于Xcode 内存警告 - 无法加载任何 Objective-C 类信息的主要内容,如果未能解决你的问题,请参考以下文章

无法从 nib 实例化 UIView。 “警告:无法加载任何 Objective-C 类信息”

Swift 2.0 错误:警告:无法加载任何 Objective-C 类信息

CoreData:警告:无法加载名为的类

Swift 3 获取请求错误(警告:无法加载任何 Objective-C 类信息)

iphone phonegap 谷歌地图内存警告

不能使用释放或自动释放。出现黄色警告:内存泄漏和未使用的变量