Migrating from previous iOS agent versions

Changes introduced with AppMon 2017 May

  • Update your Podfile if you are using CocoaPods:

If you use the Dynatrace Framework:

use_frameworks!
pod 'Dynatrace', '~> 7.0'

If you use the Dynatrace static library:

pod 'Dynatrace/lib', '~> 7.0'
  • Setting DTXApplicationID has become mandatory.

Changes introduced with AppMon 6.5

The migration steps for AppMon 6.5 are based on an AppMon 6.2 or 6.3 setup.

Replace libDynatraceUEM.a with libDynatrace.a or dynatrace.framework

  1. Add thelibDynatrace.a or Dynatrace.framework file to your project where the libDynatraceUEM.a file currently resides.
  2. Update any library or framework path references from libDynatraceUEM.a to libDynatrace.a or Dynatrace.framework.
  3. If you use the framework add it to the embedded frameworks of your Xcode project.
  4. Remove the old libDynatraceUEM.a file from your project.

Search and replace

  • Prefix of status code return value of manual instrumentation methods changed from CPWR_ to DTX_
  • Update CPWR_Uem/CPWR_UemOff to DTX_CaptureOn/DTX_CaptureOff
  • Update any reference of DynatraceUEM to Dynatrace
  • Update any reference of UEMAction to DTXAction
  • Update any reference of UEMWebRequestTiming to DTXWebRequestTiming

Manual instrumentation

Already deprecated support for manual lifecycle Instrumentation was removed. If manual lifecycle instrumentation classes are still used as base class, replace them with their UI<...>Controller equivalent:

  • Update CompuwareUEMViewController to UIViewController
  • Update CompuwareUEMNavigationController  to UINavigationController
  • Update CompuwareUEMPageViewController  to UIPageViewController
  • Update CompuwareUEMReferenceLibraryViewController  to UIReferenceLibraryViewController
  • Update CompuwareUEMSplitViewController  to UISplitViewController
  • Update CompuwareUEMTabBarController  to UITabBarController
  • Update CompuwareUEMTableViewController  to UITableViewController

Auto-instrumentation

The auto-instrumentation settings keys used in the Info.plist file have changed. The new keys can be found Auto-Instrumentation for iOS.

JavaScript bridge

  • ReplaceCompuwareUEM.js with now Dynatrace.js

Changes introduced with AppMon 6.2

AppMon 6.2 and later includes a renaming from Compuware back to the original Dynatrace. If you are currently using a version of the iOS ADK prior to AppMon 6.2, replace the existing library and header files with the new ones.

Replace libCompuware.a with libDynatraceUEM.a

  1. Add the libDynatraceUEM.a file to your project where the libCompuwareUEM.a file currently resides.
  2. Update any library path references from libCompuwareUEM.a to libDynatraceUEM.a.
  3. Remove the old libCompuwareUEM.a file from your project.

Handling deprecated classes

File names have changed to reflect rebranding. The change has minimum impact and you can simply replace the old file with the new. However the compiler issues notices that CompuwareUEM classes have been deprecated. Your project continues to build and run as it did before. It is recommended that you eventually update your code to use the new class names, since the deprecated classes are eventually removed.

  1. Update any reference of CompuwareUEM.h to DynatraceUEM.h.
  2. Update any reference of [CompuwareUEM method] to [DynatraceUEM method].

Versions earlier than AppMon 5.6

In releases earlier than AppMon 5.6, special characters such as spaces in System Profile - Error Detection conditions were automatically replaced with underscores by the Mobile Agent. Be sure you have the right comparison strings, because the Mobile Agent for AppMon 5.6 and later does not replace the strings.