FIRApp.configure()会导致IOS内存泄漏

6
我一直在调试我的应用程序,使用Firebase查找内存泄漏,经过一段时间的代码挖掘,我发现实际问题是在AppDelegate中的FIRApp.configure()里。据我所知,一切都配置正确,我使用CocoaPods来安装和更新Firebase。我也修改了我的AppDelegate内的statusBar,代码如下:
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {

    FIRApp.configure()

    setStatusBarBackgroundColor(UIColor(red: 231/250, green: 97/250, blue: 44/250, alpha: 1.0))

    // Override point for customization after application launch.
    return true


}

var window: UIWindow?

override init() {
}

func setStatusBarBackgroundColor(color: UIColor) {

    guard  let statusBar = UIApplication.sharedApplication().valueForKey("statusBarWindow")?.valueForKey("statusBar") as? UIView else {
        return
    }

    statusBar.backgroundColor = color
}

我也展示了工具来显示泄漏的更多细节: The CFNetwork is the responsible library 我确信是因为FIRApp.configure(),因为我将其移除以进行测试,结果没有泄漏。
希望有人能有解决这个泄漏问题的想法,谢谢。

你解决了这个问题吗? - mayuur
1个回答

1
我有同样的问题。经过一些调查,似乎是Firebase Analytics引起了泄漏。
这是我所做的:
- 将 FIREBASE_ANALYTICS_COLLECTION_ENABLED 设置为 NO - 在 GoogleServiceIn-info.plist 中将 FIREBASE_ANALYTICS_COLLECTION_DEACTIVATED 设置为 YES 至少对我来说这有效。对于那些依赖于Firebase Analytics的人来说,这绝对是一个错误。

我不再使用Firebase来开发我的应用程序了,所以这有点晚哈哈哈,无论如何谢谢你,我用类似的方法解决了这个问题,希望他们能尽快修复这个问题。 - reojased
你们填写了错误报告吗? - thibaut noah
你能指出是哪个类或方法导致了内存泄漏吗?我从上面的截图中看不出来。在这里提到“Firebase分析肯定是一个错误”并没有什么帮助。 - adbitx

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接