适用于iOS的BlackBerry Dynamics SDK 8.1.0.37版和Firebase分析会使iOS 14上的应用程序崩溃

问题描述

我们已将BlackBerry Dynamics SDK集成到我们的iOS应用程序中,该应用程序也使用Firebase分析。在运行iOS 12/13的设备上一切正常,但是在运行iOS 14的设备上,初始化Firebase时应用程序崩溃。

BlackBerry授权很好,一旦用户获得授权,初始化Firebase的代码就会执行,并且崩溃。

BlackBerry Dynamics SDK版本是8.1.0.37,我们使用的是动态库而不是静态库。

BlackBerry Dynamics文档说:

SDK版本8.1必须支持iOS上的应用程序的FirebaseCore 14. FirebaseCore与iOS上的SDK版本8.0或更低版本不兼容。14.如果不使用FirebaseCore容器,则应将其删除。 通过应用。

这是调用堆栈:

exec_()

这是控制台上打印的内容

#0  __exceptionPreprocess ()
#1  objc_exception_throw ()
#2  -[nsproxy methodSignatureForSelector:] ()
#3  ___forwarding___ ()
#4  _CF_forwarding_prep_0 ()
#5  +[ACSubclasser wrapObjectIntoSubclass:] ()
#6  +[NSURLSession(ACURLProtocol) ac_rawSessionWithConfiguration:delegate:delegateQueue:] ()
#7  +[NSURLSession(ACURLProtocol) miac_sessionWithConfiguration:delegate:delegateQueue:] ()
#8  ___lldb_unnamed_symbol9442$$BlackBerryDynamics ()
#9  ___lldb_unnamed_symbol9444$$BlackBerryDynamics ()
#10 -[FIRInstallationsAPIService initWithAPIKey:projectID:]
#11 -[FIRInstallationsIDController initWithGoogleAppID:appName:APIKey:projectID:GCMSenderID:accessGroup:]
#12 -[FIRInstallations initWitAppOptions:appName:]
#13 -[FIRInstallations initWithApp:]
#14 __40+[FIRInstallations componentsToRegister]_block_invoke
#15 -[FIRComponentContainer instantiateInstanceForProtocol:withBlock:]
#16 -[FIRComponentContainer instanceForProtocol:]
#17 +[FIRComponentType instanceForProtocol:inContainer:]
#18 +[FIRInstallations installationsWithApp:]
#19 +[FIRInstallations installations]
#20 +[FIRAnalytics updateFirebaseInstallationID] ()
#21 +[FIRAnalytics startWithConfiguration:options:] ()
#22 -[FIRApp configureCore]
#23 +[FIRApp addAppToAppDictionary:]
#24 +[FIRApp configureWithName:options:]
#25 +[FIRApp configureWithOptions:]
#26 +[FIRApp configure]
#27 -[MFAppDelegate finalizeApplicationLaunch]
#28 -[MFAppGDDelegate didAuthorize]
#29 -[MFAppGDDelegate onAuthorized:]
#30 -[MFAppGDDelegate handleEvent:]
#31 __NSThreadPerformPerform ()
#32 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ ()
#33 __CFRunLoopDoSource0 ()
#34 __CFRunLoopDoSources0 ()
#35 __CFRunLoopRun ()
#36 CFRunLoopRunSpecific ()
#37 GSEventRunModal ()
#38 -[UIApplication _run] ()
#39 UIApplicationMain ()
#40 main
#41 start ()

有人知道是否有办法解决此问题吗?

解决方法

我们发现,只有在MobileIron的AppConnect SDK也链接到应用程序时,才会发生崩溃。

因此我们能够通过从应用程序的BlackBerry Dynamics版本中删除AppConnect SDK来解决此问题。

,

在这种情况下,dylib和static应该相同。建议联系BlackBerry支持团队以调查问题是否仍然存在。