我必须在我的项目中使用很多第三方依赖项(主要是分析),每一个都建议在

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool

所以我有这样的东西:
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
        //FB sdk
        FBSDKApplicationDelegate.sharedInstance().application(application, didFinishLaunchingWithOptions: launchOptions)
        // Firebase
        FirebaseApp.configure()

        // AppsFlyer
        AppsFlyerTracker.shared().appleAppID = AccessKeys.appleAppID

        Fabric.with([Crashlytics.self])
        GMSServices.provideAPIKey(AccessKeys.googleMapsApiKey)

        return true
    }

我认为这会降低应用程序的启动速度,而且在我的AppDelegate中看起来很难看。我该如何改进?在根(初始)视图控制器中初始化这些库是一个好主意吗?提前谢谢!

最佳答案

相信我,如果你对所有这些都有依赖性,你就无能为力了。在查看您正在使用的库时,我只能建议您使用Firebase crash reporting而不是Fabric。这将至少删除一个依赖项,因为FirebaseApp.configure()还将初始化Firebase崩溃报告。

关于ios - iOS Appdelegate多个第三方依赖关系初始化会减慢应用程序的启动速度,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49512093/

10-11 22:26
查看更多