v1.4.0 to v2.2.0
Runtime compatibility
Appfigurate app 2.2.0 is backwardly runtime compatible with apps and app extensions linked against Appfigurate library 1.4.0.
Source compatibility
Appfigurate 2.2.0 is mostly source compatible with 1.4.0. Some minor changes are required:
Info.plist changes
Remove the
APLInstallDelegateMethodskey/value pair if it exists. Appfigurate Library no longer supports swizzlingUIApplicationDelegateorWKExtensionDelegate. Instead you must programmatically callAPLApplicationDidFinishLaunchingWithOptions,APLApplicationDidFinishLaunchingandAPLApplicationOpenURLat the appropriate times.
Project changes
Appfigurate Library is now distributed as a single static XCFramework rather than separate
libAppfigurateLibrary.a(iOS) andlibAppfigurateLibraryWatch.a(watchOS) static libraries.Delete the old
libAppfigurateLibrary.aand/orlibAppfigurateLibraryWatch.afiles from your project. Remove any search paths that pertain to Appfigurate under theApp target‣Build Settings‣Library Search Paths/Header Search Paths.Add
AppfiguateLibrary.xcframeworkto your project by dragging the.xcframeworkbundle over the top of the project navigator into your projectsFrameworksdirectory. You can also continue to use Swift Package Manager, Cocoapods or Carthage.

Appfigurate Library requires Swift to be linked to your target. If your Objective-C project doesn't currently have any Swift source files, you'll need to create at least one empty
.swiftfile.
Objective-C changes
References to
#import "AppfigurateLibrary.h"need to be changed to@import AppfigurateLibrary;.The configuration property macros all contain an extra
restartparameter. Therestartparameter is after thedescriptionparameter in every macro. If your configuration property requires an app restart after changing, set the value to YES.
SDK 1.4.0 examples (before)
BOOL_PROPERTY(logging, @"Enable debug logging to console");
DOUBLE_PROPERTY_SLIDER(maxDecibel, 60.5, 120.41, APLIconSliderVolume, @"Clipping - decibels");
STRING_PROPERTY_LIST(backgroundColorHex, @"Color of background", @{@"LightGray":@"#d3d3d3", @"White":@"#ffffff", @"Beige":@"f5fcdc"});SDK 2.2.0 examples (after)
BOOL_PROPERTY(logging, @"Enable debug logging to console", NO);
DOUBLE_PROPERTY_SLIDER(maxDecibel, 60.5, 120.41, APLIconSliderVolume, @"Clipping - decibels", NO);
STRING_PROPERTY_LIST(backgroundColorHex, @"Color of background", NO, @{@"LightGray":@"#d3d3d3", @"White":@"#ffffff", @"Beige":@"f5fcdc"});Add an implementation of the C
APLConfigurationClassfunction (prototype available inAppfigurate.hheader) to the bottom of yourAPLConfigurationsubclass:
...
self.debugLogging = YES;
self.serverURL = @"https://www.yourappserver.com/api";
}
@end
Class APLConfigurationClass(void) {
return [ExampleConfiguration class];
}Last updated