Highlighted

Problems using AdobeMobileSDK under iOS 11

Avatar

Avatar

tomaszkrol

Avatar

tomaszkrol

tomaszkrol

04-04-2018

I've received issue from iOS developing team working with beta version of newest Apple system, as follows:

We run  collectLifecycleData just after application starts:

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

        #if DEBUG

ADBMobile.setDebugLogging(true)

        #endif

    

        ADBMobile.overrideConfigPath(Bundle(for: object_getClass(self)).path(forResource: "ADBMobileConfig", ofType: "json"));

ADBMobile.collectLifecycleData()

initializeServices()

on iOS 11 there's an Adobe crash in log:

=================================================================

Main Thread Checker: UI API called on a background thread: -[UIApplication applicationState]

PID: 451, TID: 51548, Thread name: (none), Queue name: com.adobe.analytics.processing, QoS: 0

Backtrace:

4   AdobeMobileSDK 0x000000010268bd14 +[ADBApplicationOnlyFunctionality isRunningOnBackground] + 40

5   AdobeMobileSDK 0x00000001026764b4 +[ADBAppOnlyFuncBridge isRunningOnBackground] + 100

6   AdobeMobileSDK 0x000000010267b360 __ADBLifecycleStartInternal_block_invoke + 76

7   libdispatch.dylib                   0x0000000103eb18ec _dispatch_call_block_and_release + 24

8   libdispatch.dylib                   0x0000000103eb18ac _dispatch_client_callout + 16

9   libdispatch.dylib                   0x0000000103ec0380 _dispatch_queue_serial_drain + 692

10  libdispatch.dylib                   0x0000000103eb4e30 _dispatch_queue_invoke + 332

11  libdispatch.dylib                   0x0000000103ec135c _dispatch_root_queue_drain_deferred_wlh + 424

12  libdispatch.dylib                   0x0000000103ec8298 _dispatch_workloop_worker_thread + 652

13  libsystem_pthread.dylib             0x0000000186e5824c _pthread_wqthread + 932

14  libsystem_pthread.dylib             0x0000000186e57e9c start_wqthread + 4

We suppose the reason: iOS11 not allow run UI function in background thread. We know that is sometimes strange mean "UI function" f.ex function like Appdelegate.sharedInstance  is for apple UI function.

We use AdobeMobileSDK (4.13.5) from CocoaPods.

You have a code snippet and Adobe Debug Logs, this should be all that’s necessary to reproduce and debug a problem. Just connect Adobe library to sample project and add line:

ADBMobile.collectLifecycleData()

to didFinishLaunchingWithOptions event.

Thanks in advance for help.

Tomasz

BTW: I can't report to: clientcare@adobe.com because my email address isn't recognized as a supported user within the Adobe Support system.

I've received issue from iOS developing team working with beta version of newest Apple system, as follows:

Replies

Highlighted

Avatar

Avatar

Jen_Andrews

Employee

Avatar

Jen_Andrews

Employee

Jen_Andrews
Employee

09-04-2018

Hi Tomasz,

This was an issue that was resolved in a newer version of the SDK.

Please see the thread, the pod was updated.  You require pod update

Xcode 9 Main Thread Checker Violation · Issue #214 · Adobe-Marketing-Cloud/mobile-services · GitHub

Jen

Highlighted

Avatar

Avatar

tomaszkrol

Avatar

tomaszkrol

tomaszkrol

11-04-2018

Thank you for information. We will verify this solution.