• BlackBerry Dynamics
  • Runtime library for iOS applications
  • 13.0.1.117
GDLogManager Class Reference

BlackBerry Dynamics log manager. More...

#import <BlackBerryDynamics/GD/GDLogManager.h>

Description

This class contains a number of programming interfaces for managing BlackBerry Dynamics activity logs.

The BlackBerry Dynamics runtime logs its activity to files in the secure store on the device. The application can use the programming interface in this class to:

  • Initiate upload of activity log files to a central server.
  • Show a BlackBerry Dynamics user interface for monitoring the upload process.
  • Implement a custom user interface for monitoring the upload process.
  • Switch on detailed logging, if allowed by enterprise policies.

Notifications for user interface update

In the case that the application implements a custom user interface, it can be notified of progress by the BlackBerry Dynamics runtime. A notification will be dispatched by the runtime when there is any change to the upload state, or to the amount of data uploaded. For example, a notification would be dispatched when:

  • Log upload has finished.
  • The number of bytes sent so far has increased.

When a notification is received, the application code could determine the new status and then update the user interface accordingly, for example:

  • Update a progress bar to reflect the new number of bytes sent.
  • Show or hide an option for the end user to cancel upload, based on whether there is an upload in progress.

The following mechanisms are supported for notifications.

  • Key-value observing (KVO).
  • The NSNotificationCenter programming interface.

To use KVO, observe the properties of the GDLogManager interface object, which is a singleton. The properties to observe are:

To use NSNotificationCenter:

  • Set the notification name to the GDLogUploadNotification value.
  • Set the notification object to the GDLogManager object, obtained by [GDLogManager sharedInstance].
  • The posted notifications won't have a userInfo dictionary.
See also
NSNotificationCenter class reference in the Apple API Reference on the apple.com developer website.
Key-Value Observing Programming Guide on the apple.com developer website.

Implementation of an observer of log upload notifications is only required if the application has its own monitoring user interface. It should be easier to display the built-in monitoring user interface, by calling the openLogUploadUI (GDLogManager): function.

See also
Runtime activity log.

Instance Methods

(BOOL) - startUpload
 Upload current activity logs. More...
 
(BOOL) - cancelUpload
 Cancel activity log upload. More...
 
(BOOL) - suspendUpload
 Suspend activity log upload. More...
 
(BOOL) - resumeUpload
 Resume activity log upload. More...
 
(BOOL) - detailedLoggingFor:
 Switch on detailed activity logging in the BlackBerry Dynamics Runtime. More...
 
(BOOL) - openLogUploadUI
 Open the built-in activity log upload user interface. More...
 

Class Methods

(instancetype) + sharedInstance
 Get a reference to the BlackBerry Dynamics activity log manager object. More...
 

Properties

GDLogUploadState uploadState
 Current activity log upload state. More...
 
NSInteger uploadBytesSent
 Amount of activity log data uploaded so far. More...
 
NSInteger uploadBytesTotal
 Total amount of activity log data to upload. More...
 

Method Documentation

◆ sharedInstance

+ (instancetype) sharedInstance

This function returns a reference to the BlackBerry Dynamics activity log manager object. The activity log manager is a "singleton class".

Returns
Reference that can be used to call, for example, the startUpload function.

◆ startUpload

- (BOOL) startUpload

Call this function to upload the current activity log files for support purposes. The logs will be uploaded to a server in the BlackBerry Dynamics Network Operation Center (NOC).

BlackBerry Dynamics support staff have access to the server to which log files are uploaded, and can use the data for support analysis.

This function can be used to upload logs even if BlackBerry Dynamics authorization has failed. The user identifier with which the application was activiated will be needed by support staff, to identify uploaded files. The user identifier is typically the end user's enterprise email address. If authorization has failed or been cancelled without a user identifier being successfully entered, then no logs will be uploaded.

The upload takes place in background and will be retried as necessary by the runtime. Progress can be monitored and managed by using the programming interface of this class.

  • The GDLogManager::openLogUploadUI function opens a complete built-in user interface that displays progress and gives the user a number of options to manage the upload.
  • The other functions in this class could be utilized instead, to implement a custom log upload user interface in the application code.

The runtime makes a copy of its current activity log files when this function is called. The copy is retained until upload completes or is cancelled. If an earlier log upload is still in progress when this function is called, the current activity log files are added to the in-progress upload.

Returns
YES if upload was started OK.
NO otherwise or if this application is in the Wiped state.

◆ cancelUpload

- (BOOL) cancelUpload

Call this function to cancel the upload of activity logs, which would have been started by calling GDLogManager::startUpload . Upload cannot be resumed after cancellation.

Returns
YES if upload was cancelled OK.
NO otherwise or if this application is in the Wiped state.

◆ suspendUpload

- (BOOL) suspendUpload

Call this function to suspend the upload of activity logs, which would have been started by calling GDLogManager::startUpload . Upload can be resumed after suspension.

Returns
YES if upload was suspended OK.
NO otherwise or if this application is in the Wiped state.

◆ resumeUpload

- (BOOL) resumeUpload

Call this function to resume the upload of activity logs after suspension. Upload would have been suspended by calling GDLogManager::suspendUpload .

Returns
YES if upload was resumed OK.
NO otherwise or if this application is in the Wiped state.

◆ detailedLoggingFor:

- (BOOL) detailedLoggingFor: (NSTimeInterval)  duration

Call this function to switch on detailed logging by the BlackBerry Dynamics runtime.

The runtime writes more messages to its activity log if detailed logging is switched on. Detailed logging slows down the runtime, and increases the amount of device storage occupied by the activity logs in the secure store. For these reasons, detailed logging can only be switched on by the application for a specified duration, and there is a maximum allowed duration. The maximum duration is 15 minutes and is given by the GDLogManager::GDLogManagerDetailedMaximumDuration constant.

Detailed activity logging can also be switched on by the BlackBerry Dynamics management console, in which there are a number of options. Check the user interface and documentation of the management console for details.

The ability to switch on detailed logging from the application code can be blocked by enterprise policy. See the GDAppConfigKeyPreventUserDetailedLogs item in the collection returned by the getApplicationConfig (GDiOS) function.

Detailed activity logging can be switched off by the application code, if it was switched on by the application code. If detailed logging is switched on by the managment console then it cannot be switched off by the application code. Switch off detailed logging by calling this function and passing zero or a negative duration.

Parameters
durationNSTimeInterval representation of the duration for which detailed logging is to be switched on, in seconds.
Pass zero or a negative number to switch off detailed logging.
Returns
YES if the parameter value is less than or equal to the maximum allowed duration.
NO otherwise.
See also
Runtime activity log for background. This function relates to the Container Log, not the Console Log.
NSTimeInterval reference in the Apple API Reference on the apple.com developer website.

◆ openLogUploadUI

- (BOOL) openLogUploadUI

This function opens a complete user interface that gives the user an option to start uploading activity log files, then displays progress and a number of management options.

The upload user interface is built in to the BlackBerry Dynamics runtime. This function makes it possible to include the upload user interface in the application's own user interface. It is an alternative to implementing a whole user interface in the application code, using the other functions in this class.

Returns
YES if the activity log upload user interface opened OK, or was already open.
NO if this application is in the Wiped state.

Property Documentation

◆ uploadState

- (GDLogUploadState) uploadState
readnonatomicassign
Returns
GDLogUploadState value representing the current upload state.

◆ uploadBytesSent

- (NSInteger) uploadBytesSent
readnonatomicassign
Returns
NSInteger representing the amount of data sent so far, in bytes.

◆ uploadBytesTotal

- (NSInteger) uploadBytesTotal
readnonatomicassign
Returns
NSInteger representing the total data to be sent, in bytes.

The documentation for this class was generated from the following file: