Citrix MAM SDK for iOS message - objc[80611]: Class ClassProperty is implemented in both

39 views Asked by At

I'm testing the usage of Citrix sdk for my app, importing CTXMAMCore, everything worked fine for some day, suddenly, on multiple versions of my App, even the one in obj-c they included in their framework, I started getting some strange message in console. For simple testing now I just have an app with a WKWebView, using UIKit. It seems The app is still working, launching the "secure hub" app they require to be used. But I prefer understand what is happening in order to prevent possible issues.

some notes:

  • if I put a breakpoint inside the if cases in CTXMAMCore.initializeSDKs closure, they won't be called.
  • testing on real device iPhone 11, iOS 16.1
  • following more generic question I tried to make framework optional in targets / BuildPhases / Link Binary with library but it is not working.
  • not working with pods, I followed their guide on the site. so simply added frameworks

my AppDelegate

import UIKit
import CTXMAMCore

@main
class AppDelegate: UIResponder, UIApplicationDelegate, CTXMAMCoreSdkDelegate {



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

        CTXMAMCore.setDelegate(self)
        CTXMAMCore.initializeSDKs { (nilOrError) in

            if let error = nilOrError {
                let alertMsg = "❌ Error initializing SDKs ->  -> \(error)"
                print(alertMsg)
                self.showAlertMsg(alertMsg, isFatal: false)
            } else {
                let alertMsg = "✅ SDKs initialized and ready"
                print(alertMsg)
                self.showAlertMsg(alertMsg, isFatal: false)
            }
        }

        return true
    }

the message (partial, since very long)

objc[79194]: Class ClassProperty is implemented in both /private/var/containers/Bundle/Application/81FDDC8D-0A1F-46E8-BF75-B7C76378C620/sempliceWKWebView.app/Frameworks/CTXMAMLocalAuth.framework/CTXMAMLocalAuth (0x10288f428) and /private/var/containers/Bundle/Application/81FDDC8D-0A1F-46E8-BF75-B7C76378C620/sempliceWKWebView.app/Frameworks/CTXMAMAppCore.framework/CTXMAMAppCore (0x102ed0c78). One of the two will be used. Which one is undefined.
objc[79194]: Class CtxApplicationPrefixProvider is implemented in both /private/var/containers/Bundle/Application/81FDDC8D-0A1F-46E8-BF75-B7C76378C620/sempliceWKWebView.app/Frameworks/CTXMAMCore.framework/CTXMAMCore (0x103bc9ee8) and /private/var/containers/Bundle/Application/81FDDC8D-0A1F-46E8-BF75-B7C76378C620/sempliceWKWebView.app/Frameworks/CTXMAMAppCore.framework/CTXMAMAppCore (0x102ed6498). One of the two will be used. Which one is undefined.
objc[79194]: Class CtxAsyncOperationObjC is implemented in both /private/var/containers/Bundle/Application/81FDDC8D-0A1F-46E8-BF75-B7C76378C620/sempliceWKWebView.app/Frameworks/CTXMAMCore.framework/CTXMAMCore (0x103bc9f10) and /private/var/containers/Bundle/Application/81FDDC8D-0A1F-46E8-BF75-B7C76378C620/sempliceWKWebView.app/Frameworks/CTXMAMAppCore.framework/CTXMAMAppCore (0x102ed64c0). One of the two will be used. Which one is undefined.
objc[79194]: Class CtxAsyncServiceObjC is implemented in both /private/var/containers/Bundle/Application/81FDDC8D-0A1F-46E8-BF75-B7C76378C620/sempliceWKWebView.app/Frameworks/CTXMAMCore.framework/CTXMAMCore (0x103bc9f60) and /private/var/containers/Bundle/Application/81FDDC8D-0A1F-46E8-BF75-B7C76378C620/sempliceWKWebView.app/Frameworks/CTXMAMAppCore.framework/CTXMAMAppCore (0x102ed6510). One of the two will be used. Which one is undefined.
objc[79194]: Class CtxAtomicWorkflowService is implemented in both /private/var/containers/Bundle/Application/81FDDC8D-0A1F-46E8-BF75-B7C76378C620/sempliceWKWebView.app/Frameworks/CTXMAMCore.framework/CTXMAMCore (0x103bc9fb0) and /private/var/containers/Bundle/Application/81FDDC8D-0A1F-46E8-BF75-B7C76378C620/sempliceWKWebView.app/Frameworks/CTXMAMAppCore.framework/CTXMAMAppCore (0x102ed6560). One of the two will be used. Which one is undefined.
objc[79194]: Class CtxDevice is implemented in both /private/var/containers/Bundle/Application/81FDDC8D-0A1F-46E8-BF75-B7C76378C620/sempliceWKWebView.app/Frameworks/CTXMAMCore.framework/CTXMAMCore (0x103bca000) and /private/var/containers/Bundle/Application/81FDDC8D-0A1F-46E8-BF75-B7C76378C620/sempliceWKWebView.app/Frameworks/CTXMAMAppCore.framework/CTXMAMAppCore (0x102ed65b0). One of the two will be used. Which one is undefined.
objc[79194]: Class PodsDummy_CtxiOSSDK is implemented in both /private/var/containers/Bundle/Application/81FDDC8D-0A1F-46E8-BF75-B7C76378C620/sempliceWKWebView.app/Frameworks/CTXMAMCore.framework/CTXMAMCore (0x103bca078) and /private/var/containers/Bundle/Application/81FDDC8D-0A1F-46E8-BF75-B7C76378C620/sempliceWKWebView.app/Frameworks/CTXMAMAppCore.framework/CTXMAMAppCore (0x102ed6628). One of the two will be used. Which one is undefined.
objc[79194]: Class CtxJSONAPIOperation is implemented in both /private/var/containers/Bundle/Application/81FDDC8D-0A1F-46E8-BF75-B7C76378C620/sempliceWKWebView.app/Frameworks/CTXMAMCore.framework/CTXMAMCore (0x103bca0a0) and /private/var/containers/Bundle/Application/81FDDC8D-0A1F-46E8-BF75-B7C76378C620/sempliceWKWebView.app/Frameworks/CTXMAMAppCore.framework/CTXMAMAppCore (0x102ed6650). One of the two will be used. Which one is undefined.
objc[79194]: Class CtxMainThreadRunner is implemented in both /private/var/containers/Bundle/Application/81FDDC8D-0A1F-46E8-BF75-B7C76378C620/sempliceWKWebView.app/Frameworks/CTXMAMCore.framework/CTXMAMCore (0x103bca168) and /private/var/containers/Bundle/Application/81FDDC8D-0A1F-46E8-BF75-B7C76378C620/sempliceWKWebView.app/Frameworks/CTXMAMAppCore.framework/CTXMAMAppCore (0x102ed66c8). One of the two will be used. Which one is undefined.
objc[79194]: Class CtxObfuscator is implemented in both /private/var/containers/Bundle/Application/81FDDC8D-0A1F-46E8-BF75-B7C76378C620/sempliceWKWebView.app/Frameworks/CTXMAMCore.framework/CTXMAMCore (0x103bca190) and /private/var/containers/Bundle/Application/81FDDC8D-0A1F-46E8-BF75-B7C76378C620/sempliceWKWebView.app/Frameworks/CTXMAMAppCore.framework/CTXMAMAppCore (0x102ed66f0). One of the two will be used. Which one is undefined.
objc[79194]: Class CtxRunLoopSemaphore is implemented in both /private/var/containers/Bundle/Application/81FDDC8D-0A1F-46E8-BF75-B7C76378C620/sempliceWKWebView.app/Frameworks/CTXMAMCore.framework/CTXMAMCore (0x103bca208) and /private/var/containers/Bundle/Application/81FDDC8D-0A1F-46E8-BF75-B7C76378C620/sempliceWKWebView.app/Frameworks/CTXMAMAppCore.framework/CTXMAMAppCore (0x102ed6768). One of the two will be used. Which one is undefined.
objc[79194]: Class CtxSdkLogger is implemented in both /private/var/containers/Bundle/Application/81FDDC8D-0A1F-46E8-BF75-B7C76378C620/sempliceWKWebView.app/Frameworks/CTXMAMCore.framework/CTXMAMCore (0x103bca280) and /private/var/containers/Bundle/Application/81FDDC8D-0A1F-46E8-BF75-B7C76378C620/sempliceWKWebView.app/Frameworks/CTXMAMAppCore.framework/CTXMAMAppCore (0x102ed6790). One of the two will be used. Which one is undefined.
objc[79194]: Class CtxUrlSessionTaskOperationObjC is implemented in both /private/var/containers/Bundle/Application/81FDDC8D-0A1F-46E8-BF75-B7C76378C620/sempliceWKWebView.app/Frameworks/CTXMAMCore.framework/CTXMAMCore (0x103bca370) and /private/var/containers/Bundle/Application/81FDDC8D-0A1F-46E8-BF75-B7C76378C620/sempliceWKWebView.app/Frameworks/CTXMAMAppCore.framework/CTXMAMAppCore (0x102ed67e0). One of the two will be used. Which one is undefined.
objc[79194]: Class MockCtxNSFileCoordinator is implemented in both /private/var/containers/Bundle/Application/81FDDC8D-0A1F-46E8-BF75-B7C76378C620/sempliceWKWebView.app/Frameworks/CTXMAMCore.framework/CTXMAMCore (0x103bca528) and /private/var/containers/Bundle/Application/81FDDC8D-0A1F-46E8-BF75-B7C76378C620/sempliceWKWebView.app/Frameworks/CTXMAMAppCore.framework/CTXMAMAppCore (0x102ed6858). One of the two will be used. Which one is undefined.
objc[79194]: Class MockCtxNSFileManager is implemented in both /private/var/containers/Bundle/Application/81FDDC8D-0A1F-46E8-BF75-B7C76378C620/sempliceWKWebView.app/Frameworks/CTXMAMCore.framework/CTXMAMCore (0x103bca5c8) and /private/var/containers/Bundle/Application/81FDDC8D-0A1F-46E8-BF75-B7C76378C620/sempliceWKWebView.app/Frameworks/CTXMAMAppCore.framework/CTXMAMAppCore (0x102ed68a8). One of the two will be used. Which one is undefined.
objc[79194]: Class MockCtxNSHTTPCookieStorage is implemented in both /private/var/containers/Bundle/Application/81FDDC8D-0A1F-46E8-BF75-B7C76378C620/sempliceWKWebView.app/Frameworks/CTXMAMCore.framework/CTXMAMCore (0x103bca5f0) and /private/var/containers/Bundle/Application/81FDDC8D-0A1F-46E8-BF75-B7C76378C620/sempliceWKWebView.app/Frameworks/CTXMAMAppCore.framework/CTXMAMAppCore (0x102ed68d0). One of the two will be used. Which one is undefined.
objc[79194]: Class MockCtxNSItemProvider is implemented in both /private/var/containers/Bundle/Application/81FDDC8D-0A1F-46E8-BF75-B7C76378C620/sempliceWKWebView.app/Frameworks/CTXMAMCore.framework/CTXMAMCore (0x103bca668) and /private/var/containers/Bundle/Application/81FDDC8D-0A1F-46E8-BF75-B7C76378C620/sempliceWKWebView.app/Frameworks/CTXMAMAppCore.framework/CTXMAMAppCore (0x102ed6948). One of the two will be used. Which one is undefined.
objc[79194]: Class MockCtxNSNotificationCenter is implemented in both /private/var/containers/Bundle/Application/81FDDC8D-0A1F-46E8-BF75-B7C76378C620/sempliceWKWebView.app/Frameworks/CTXMAMCore.framework/CTXMAMCore (0x103bca6b8) and /private/var/containers/Bundle/Application/81FDDC8D-0A1F-46E8-BF75-B7C76378C620/sempliceWKWebView.app/Frameworks/CTXMAMAppCore.framework/CTXMAMAppCore (0x102ed6998). One of the two will be used. Which one is undefined.
objc[79194]: Class MockCtxNSOperationQueue is implemented in both /private/var/containers/Bundle/Application/81FDDC8D-0A1F-46E8-BF75-B7C76378C620/sempliceWKWebView.app/Frameworks/CTXMAMCore.framework/CTXMAMCore (0x103bca708) and /private/var/containers/Bundle/Application/81FDDC8D-0A1F-46E8-BF75-B7C76378C620/sempliceWKWebView.app/Frameworks/CTXMAMAppCore.framework/CTXMAMAppCore (0x102ed69e8). One of the two will be used. Which one is undefined.
objc[79194]: Class MockCtxNSString is implemented in both /private/var/containers/Bundle/Application/81FDDC8D-0A1F-46E8-BF75-B7C76378C620/sempliceWKWebView.app/Frameworks/CTXMAMCore.framework/CTXMAMCore (0x103bca758) and /private/var/containers/Bundle/Application/81FDDC8D-0A1F-46E8-BF75-B7C76378C620/sempliceWKWebView.app/Frameworks/CTXMAMAppCore.framework/CTXMAMAppCore (0x102ed6a38). One of the two will be used. Which one is undefined.
objc[79194]: Class MockCtxNSUserDefaults is implemented in both /private/var/containers/Bundle/Application/81FDDC8D-0A1F-46E8-BF75-B7C76378C620/sempliceWKWebView.app/Frameworks/CTXMAMCore.framework/CTXMAMCore (0x103bca7a8) and /private/var/containers/Bundle/Application/81FDDC8D-0A1F-46E8-BF75-B7C76378C620/sempliceWKWebView.app/Frameworks/CTXMAMAppCore.framework/CTXMAMAppCore (0x102ed6a88). One of the two will be used. Which one is undefined.
objc[79194]: Class MockCtxWKHTTPCookieStore is implemented in both /private/var/containers/Bundle/Application/81FDDC8D-0A1F-46E8-BF75-B7C76378C620/sempliceWKWebView.app/Frameworks/CTXMAMCore.framework/CTXMAMCore (0x103bca8e8) and /private/var/containers/Bundle/Application/81FDDC8D-0A1F-46E8-BF75-B7C76378C620/sempliceWKWebView.app/Frameworks/CTXMAMAppCore.framework/CTXMAMAppCore (0x102ed6ad8). One of the two will be used. Which one is undefined.
objc[79194]: Class MockUNNotification is implemented in both /private/var/containers/Bundle/Application/81FDDC8D-0A1F-46E8-BF75-B7C76378C620/sempliceWKWebView.app/Frameworks/CTXMAMCore.framework/CTXMAMCore (0x103bca938) and /private/var/containers/Bundle/Application/81FDDC8D-0A1F-46E8-BF75-B7C76378C620/sempliceWKWebView.app/Frameworks/CTXMAMAppCore.framework/CTXMAMAppCore (0x102ed6b28). One of the two will be used. Which one is undefined.
objc[79194]: Class MockUNNotificationResponse is implemented in both /private/var/containers/Bundle/Application/81FDDC8D-0A1F-46E8-BF75-B7C76378C620/sempliceWKWebView.app/Frameworks/CTXMAMCore.framework/CTXMAMCore (0x103bca988) and /private/var/containers/Bundle/Application/81FDDC8D-0A1F-46E8-BF75-B7C76378C620/sempliceWKWebView.app/Frameworks/CTXMAMAppCore.framework/CTXMAMAppCore (0x102ed6b78). One of the two will be used. Which one is undefined.
objc[79194]: Class MockUNTextInputNotificationResponse is implemented in both /private/var/containers/Bundle/Application/81FDDC8D-0A1F-46E8-BF75-B7C76378C620/sempliceWKWebView.app/Frameworks/CTXMAMCore.framework/CTXMAMCore (0x103bca9d8) and /private/var/containers/Bundle/Application/81FDDC8D-0A1F-46E8-BF75-B7C76378C620/sempliceWKWebView.app/Frameworks/CTXMAMAppCore.framework/CTXMAMAppCore (0x102ed6bc8). One of the two will be used. Which one is undefined.
objc[79194]: Class _TtC9CtxiOSSDK17CtxAsyncOperation is implemented in both /private/var/containers/Bundle/Application/81FDDC8D-0A1F-46E8-BF75-B7C76378C620/sempliceWKWebView.app/Frameworks/CTXMAMCore.framework/CTXMAMCore (0x103bcaeb0) and /private/var/containers/Bundle/Application/81FDDC8D-0A1F-46E8-BF75-B7C76378C620/sempliceWKWebView.app/Frameworks/CTXMAMAppCore.framework/CTXMAMAppCore (0x102ed6c80). One of the two will be used. Which one is undefined.
objc[79194]: Class _TtC9CtxiOSSDK15CtxAsyncService is implemented in both /private/var/containers/Bundle/Application/81FDDC8D-0A1F-46E8-BF75-B7C76378C620/sempliceWKWebView.app/Frameworks/CTXMAMCore.framework/CTXMAMCore (0x103beeaf0) and /private/var/containers/Bundle/Application/81FDDC8D-0A1F-46E8-BF75-B7C76378C620/sempliceWKWebView.app/Frameworks/CTXMAMAppCore.framework/CTXMAMAppCore (0x102f1b1f8). One of the two will be used. Which one is undefined.
objc[79194]: Class _TtC9CtxiOSSDK17CtxSwiftSdkLogger is implemented in both /private/var/containers/Bundle/Application/81FDDC8D-0A1F-46E8-BF75-B7C76378C620/sempliceWKWebView.app/Frameworks/CTXMAMCore.framework/CTXMAMCore (0x103beebd8) and /private/var/containers/Bundle/Application/81FDDC8D-0A1F-46E8-BF75-B7C76378C620/sempliceWKWebView.app/Frameworks/CTXMAMAppCore.framework/CTXMAMAppCore (0x102f1b2b0). One of the two will be used. Which one is undefined.
objc[79194]: Class _TtC9CtxiOSSDK26CtxUrlSessionTaskOperation is implemented in both /private/var/containers/Bundle/Application/81FDDC8D-0A1F-46E8-BF75-B7C76378C620/sempliceWKWebView.app/Frameworks/CTXMAMCore.framework/CTXMAMCore (0x103bcb1a8) and /private/var/containers/Bundle/Application/81FDDC8D-0A1F-46E8-BF75-B7C76378C620/sempliceWKWebView.app/Frameworks/CTXMAMAppCore.framework/CTXMAMAppCore (0x102ed7178). One of the two will be used. Which one is undefined.
objc[79194]: Class _TtC9CtxiOSSDK32MockCtxHttpHeaderProviderService is implemented in both /private/var/containers/Bundle/Application/81FDDC8D-0A1F-46E8-BF75-B7C76378C620/sempliceWKWebView.app/Frameworks/CTXMAMCore.framework/CTXMAMCore (0x103bcb790) and /private/var/containers/Bundle/Application/81FDDC8D-0A1F-46E8-BF75-B7C76378C620/sempliceWKWebView.app/Frameworks/CTXMAMAppCore.framework/CTXMAMAppCore (0x102ed7378). One of the two will be used. Which one is undefined.
2023-11-15 09:02:59.415880+0100 sempliceWKWebView[79194:22268895] CTXLogger : User preferences are not yet available. Returning from Logger initializer..
2023-11-15 09:02:59.416443+0100 sempliceWKWebView[79194:22268895] CTXMAMCoreFramework, 3, 1, /Users/jenkins/jenkins/workspace/ossdk_ctxmamcore_Release_23.10.0/CTXMAMCore/CTXMAMConfigurationManager/CTXMAMConfigManager.m, -[CTXMAMConfigManager hubAppInfo], 990, hubAppInfo is nil.
2023-11-15 09:02:59.416481+0100 sempliceWKWebView[79194:22268895] CTXLogger : User preferences are not yet available. Returning from Logger initializer..
2023-11-15 09:02:59.416507+0100 sempliceWKWebView[79194:22268895] CTXMAMCoreFramework, 3, 1, /Users/jenkins/jenkins/workspace/ossdk_ctxmamcore_Release_23.10.0/CTXMAMCore/CTXMAMConfigurationManager/CTXMAMConfigManager.m, -[CTXMAMConfigManager hubAppInfo], 990, hubAppInfo is nil.
2023-11-15 09:02:59.416536+0100 sempliceWKWebView[79194:22268895] CTXLogger : User preferences are not yet available. Returning from Logger initializer..
2023-11-15 09:02:59.416547+0100 sempliceWKWebView[79194:22268895] CTXLogger : User preferences are not yet available. Returning from Logger initializer..
2023-11-15 09:02:59.416569+0100 sempliceWKWebView[79194:22268895] CTXMAMCoreFramework, 4, 1, /Users/jenkins/jenkins/workspace/ossdk_ctxmamcore_Release_23.10.0/CTXMAMCore/CTXMAMLogger/CTXMAMLogger.m, CTXMAMLOG_Initialize, 61, Applying log settings from policy. LoggingBlocked: 0; fileSize: 0; fileCount: 0; logLevel: 0; target: (null)(1).

another portion

2023-11-15 09:29:31.141851+0100 sempliceWKWebView[79247:22280047] CTXLogger : User preferences are not yet available. Returning from Logger initializer..
2023-11-15 09:29:31.142343+0100 sempliceWKWebView[79247:22280047] CTXMAMCoreFramework, 3, 1, /Users/jenkins/jenkins/workspace/ossdk_ctxmamcore_Release_23.10.0/CTXMAMCore/CTXMAMConfigurationManager/CTXMAMConfigManager.m, -[CTXMAMConfigManager hubAppInfo], 990, hubAppInfo is nil.

another portion

2023-11-15T09:29:31.154+0100 sempliceWKWebView[CTXMAMCoreFramework:INFO:com.apple.main-thread:103]-:-[CTXMAMDataStorage p_initializeStorageData:]: ConfigManagerAuthVault: Read the data written by other app(s) running with XenMobile policyMode.
2023-11-15 09:29:31.157201+0100 sempliceWKWebView[79247:22280075] [CTXMAMCoreFramework:INFO:com.citrix.ctxmamcore.mamAppInfoQueue:1803]-:-[CTXMAMAppsInfo printMAMAppInfo]: CTX MAM App Info: {"CTXMAMCore":"23.10.0+1"; "CTXMAMCompliance":"23.10.0+2"; "CitrixLogger":"23.10.0+1"; "CTXMAMNetwork":"23.10.0+1"; "CTXMAMLocalAuth":"23.10.0+1"; "CTXMAMAppCore":"23.10.0+1"; "CTXMAMContainment":"23.10.0+1"} {"CGPrep Toolkit Version & Build":"23.10.0"; "Is MAMCore Debug Build?":"No"; "lib-ctxlogger":"2.3.9"; "App Type":"SDK-CitrixMAM(5)"} Device: iPhone12,1 iOS: 16.1
2023-11-15T09:29:31.154+0100 sempliceWKWebView[CTXMAMCoreFramework:INFO:com.citrix.ctxmamcore.mamAppInfoQueue:1803]-:-[CTXMAMAppsInfo printMAMAppInfo]: CTX MAM App Info: {"CTXMAMCore":"23.10.0+1"; "CTXMAMCompliance":"23.10.0+2"; "CitrixLogger":"23.10.0+1"; "CTXMAMNetwork":"23.10.0+1"; "CTXMAMLocalAuth":"23.10.0+1"; "CTXMAMAppCore":"23.10.0+1"; "CTXMAMContainment":"23.10.0+1"} {"CGPrep Toolkit Version & Build":"23.10.0"; "Is MAMCore Debug Build?":"No"; "lib-ctxlogger":"2.3.9"; "App Type":"SDK-CitrixMAM(5)"} Device: iPhone12,1 iOS: 16.1
0

There are 0 answers