我必须在我的项目中使用很多第三方依赖项(主要是分析),并且每一项都建议在其中初始化其sdk
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中看起来非常难看。我怎样才能改善这一点?在根(初始)视图控制器中初始化其中一些库是一个好主意吗?提前谢谢!
答案 0 :(得分:1)
相信我,如果您对所有这些都有依赖关系,那么您无能为力。在查看您正在使用的库时,我只能提出一件事,即使用Firebase crash reporting而不是Fabric。这至少会删除一个依赖项,因为FirebaseApp.configure()
也会初始化Firebase崩溃报告。