WS1Config

This object is used to specify various configuration options for Workspace ONE Intelligence SDK.

Once this object is setup, you can pass it to WS1Intelligence.initialize. After Workspace ONE Intelligence SDK is initialized, changes to this object will have no affect.

Creating a Config

+ defaultConfig
Creates a new WS1Config object with the default values for the above properties. You can modify the config values and pass this object into [WS1Intelligence enableWithAppID:config:]
+ (WS1Config *)defaultConfig
class func default() -> WS1Config
Returns WS1Config with default values.

Network Insights Configuration

enableServiceMonitoring Property

Determines whether automatic collection of network traffic data is enabled in the SDK.

If this flag is set to NO, then no instrumentation will be installed and no data will be collected or sent automatically.

Default value: YES (enabled)

@property (nonatomic, assign) BOOL enableServiceMonitoring;
var enableServiceMonitoring: Bool
monitorNSURLConnection Property

Determines whether Network Insights should automatically capture network performance information for network calls made through NSURLConnection.

Default value: YES

@property (nonatomic, assign) BOOL monitorNSURLConnection;
var monitorNSURLConnection: Bool
monitorNSURLSession Property

Determines whether Network Insights should automatically capture network performance information for network calls made through NSURLSession.

Default value: YES

@property (nonatomic, assign) BOOL monitorNSURLSession;
var monitorNSURLSession: Bool
urlFilters Property
An array of WS1Filter objects. These objects are used to fine tune the collection of Network Insights data by the Workspace ONE Intelligence SDK. For example, URLs that may contain sensitive information can be blocked. The filters can also be used to preserve URL query parameters, fragments, and parameters. By default these components are removed from the data reported to the WS1Intelligence hub.
@property (nonatomic, strong) NSArray <WS1Filter *> *urlFilters;
var urlFilters: Array<WS1Filter>

Monitoring Web Views

Workspace ONE Intelligence has the capability to monitor network traffic generated by web views and JavaScript errors generated by WKWebViews.

Monitoring of WKWebView traffic is disabled by default because use of the WKWebView class has the side effect of calling the class initialize method, which creates a new thread to manage webviews.

Since Workspace ONE Intelligence cannot prevent these side effects from happening and many apps do not use webviews, Network Insights for webviews must be explicitly enabled.

monitorWKWebView Property

Determine whether Network Insights should capture network performance information for network calls made through WKWebView. Currently only page loads and page transitions are captured. Calls made via javascript are currently not captured.

WKWebView monitoring is disabled on tvOS.

Default value: NO

@property (nonatomic, assign) BOOL monitorWKWebView;
var monitorWKWebView: Bool

Send Data On Wifi Only

allowsCellularAccess Property

Determines whether the client will send data to Workspace ONE Intelligence while on a cellular network.

Default value: YES

@property(nonatomic) BOOL allowsCellularAccess;
var allowsCellularAccess: Bool

Toggle MACH Exception Capture

enableMachExceptionHandling Property

Enables or disables MACH exception capturing by the SDK. This allows capturing additional crashes such as stack overflows. Since installing a mach exception handler can interfere with debuggers, this setting will not take effect when a debugger is attached. You may choose to disable mach exception handling if you have code that already handles mach exceptions.

This configuration is always disabled in tvOS, setting it YES in tvOS will have no effect.

Default value: YES

@property(nonatomic) BOOL enableMachExceptionHandling;
var enableMachExceptionHandling: Bool

Extension Support

iMessageExtension Property

Enhances support for iMessage extensions. This configuration flag should be set prior to initializing the SDK from inside the iMessage extension.

Default value: NO

@property(nonatomic) BOOL iMessageExtension;
var iMessageExtension: Bool
todayExtension Property
Enhances support for today extensions. This configuration flag should be set prior to initializing the SDK from inside the today extension.

Default value: NO

@property(nonatomic) BOOL todayExtension;
var todayExtension: Bool