iOS 由于 cocoapods,初始化时间慢
iOS slow initialisation times due to cocoapods
我有一个相当简单的 iOS 应用程序,它只依赖于两个 pods,Firebase 和 Alamofire,但是在我的任何代码可以 运行 之前,我的启动时间很糟糕。
我看到像
Total pre-main time: 18.5 seconds (100.0%)
dylib loading time: 11.1 seconds (59.7%)
rebase/binding time: 366.92 milliseconds (1.9%)
ObjC setup time: 752.48 milliseconds (4.0%)
initializer time: 6.3 seconds (34.2%)
slowest intializers :
libSystem.B.dylib : 936.19 milliseconds (5.0%)
libMainThreadChecker.dylib : 1.8 seconds (9.8%)
CoreDuet : 514.37 milliseconds (2.7%)
ShimmyMobile : 2.9 seconds (15.7%)
虽然pre-main时间从2秒到这个极端。
我正在 运行 宁在模拟器中所以这可能会使事情变得更糟?
Firebase 有很多依赖项,即当 运行ning pod install 我看到:
Installing Alamofire (4.9.1)
Installing Firebase (6.17.0)
Installing FirebaseAnalyticsInterop (1.5.0)
Installing FirebaseCore (6.6.2)
Installing FirebaseCoreDiagnostics (1.2.0)
Installing FirebaseCoreDiagnosticsInterop (1.2.0)
Installing FirebaseInstallations (1.1.0)
Installing FirebaseInstanceID (4.3.1)
Installing FirebaseMessaging (4.2.1)
Installing GoogleDataTransport (4.0.0)
Installing GoogleDataTransportCCTSupport (1.4.0)
Installing GoogleUtilities (6.5.1)
Installing PromisesObjC (1.2.8)
Installing Protobuf (3.11.4)
Installing nanopb (0.3.9011)
我只使用 FirebaseMessaging,我可以做些什么来缩短启动时间吗?删除未使用的依赖项或使用静态构建(我正在使用 Swift 5)?
我遇到了同样的问题,我发现 iPhone 模拟器比真正的 phone 慢得多。这也部分是我的电脑滞后。
您是否在物理设备上尝试过运行?
我认为您不能删除那些其他依赖项,因为 firebase 依赖它们才能正常运行。
我能够通过先更新 cocoa pods 然后在我的 podfile 中解决这个问题
评论 use_frameworks 并添加 use_modular_headers!
即
use_frameworks!
use_modular_headers!
但是是的,模拟器也慢得多。
我有一个相当简单的 iOS 应用程序,它只依赖于两个 pods,Firebase 和 Alamofire,但是在我的任何代码可以 运行 之前,我的启动时间很糟糕。
我看到像
Total pre-main time: 18.5 seconds (100.0%)
dylib loading time: 11.1 seconds (59.7%)
rebase/binding time: 366.92 milliseconds (1.9%)
ObjC setup time: 752.48 milliseconds (4.0%)
initializer time: 6.3 seconds (34.2%)
slowest intializers :
libSystem.B.dylib : 936.19 milliseconds (5.0%)
libMainThreadChecker.dylib : 1.8 seconds (9.8%)
CoreDuet : 514.37 milliseconds (2.7%)
ShimmyMobile : 2.9 seconds (15.7%)
虽然pre-main时间从2秒到这个极端。 我正在 运行 宁在模拟器中所以这可能会使事情变得更糟?
Firebase 有很多依赖项,即当 运行ning pod install 我看到:
Installing Alamofire (4.9.1)
Installing Firebase (6.17.0)
Installing FirebaseAnalyticsInterop (1.5.0)
Installing FirebaseCore (6.6.2)
Installing FirebaseCoreDiagnostics (1.2.0)
Installing FirebaseCoreDiagnosticsInterop (1.2.0)
Installing FirebaseInstallations (1.1.0)
Installing FirebaseInstanceID (4.3.1)
Installing FirebaseMessaging (4.2.1)
Installing GoogleDataTransport (4.0.0)
Installing GoogleDataTransportCCTSupport (1.4.0)
Installing GoogleUtilities (6.5.1)
Installing PromisesObjC (1.2.8)
Installing Protobuf (3.11.4)
Installing nanopb (0.3.9011)
我只使用 FirebaseMessaging,我可以做些什么来缩短启动时间吗?删除未使用的依赖项或使用静态构建(我正在使用 Swift 5)?
我遇到了同样的问题,我发现 iPhone 模拟器比真正的 phone 慢得多。这也部分是我的电脑滞后。
您是否在物理设备上尝试过运行?
我认为您不能删除那些其他依赖项,因为 firebase 依赖它们才能正常运行。
我能够通过先更新 cocoa pods 然后在我的 podfile 中解决这个问题 评论 use_frameworks 并添加 use_modular_headers!
即
use_frameworks!
use_modular_headers!
但是是的,模拟器也慢得多。