Integration for iOS

Download the latest version

Download V 3.0.2 Released: Mar 23, 2017
Minimal system requirements:
Requires iOS 6.0 or later

Release notes

v. 3.0.2 Mar 23, 2017
  • Fixed bitcode related bugs
v. 3.0.1 Mar 6, 2017
  • Improved issue management
  • Added bitcode support
  • Fixed bugs
v. 3.0.0 Dec 22, 2016
  • Improved and optimized the SDK performance
  • Optimized network algorithms
  • Added support for background upload
  • Created new design
  • Fixed bugs
v. 2.0.6 July 28, 2016
  • Improved the performance of Activity stream
  • Fixed ‘duplicate symbol’ error
  • Fixed bugs
v. 2.0.5 July 19, 2016
  • Optimized the database performance
  • Optimized SDK performance (multithreading)
  • Fixed bugs
v. 2.0.4 Apr 18, 2016
  • Added crash reports symbolication
  • Optimized activity tracking performance
  • Added the bug-submission interface for beta-testers users
  • Fixed bugs
v. 2.0.3 Nov 24, 2014
  • Improved and optimized UI for iOS 8
  • Optimized the time tracking performance (flow)
  • Fixed the bug related to multiple report association with test case
v. 2.0.2 Oct 2, 2014
  • Added the new API [[Ubertesters shared] disableCrashHandler]; method
  • Renamed Ubertesters options for locking and activation mode
  • Ubertesters Project ID parameter is replaced with Ubertesters Organization SDK Token
v. 2.0.1 Sep 2, 2014
  • Fixed the bug with the Ubertesters widget blocking the part of user interface in the default position.

1. Download the latest version of Ubertesters SDK for iOS

2. Go to ‘Build Phases’ -> ‘Link Binary With Libraries’ to add the following frameworks

  1. UIKit.framework
  2. CoreGraphics.framework
  3. CoreTelephony.framework
  4. SystemConfiguration.framework
  5. CoreLocation.framework
  6. AdSupport.framework
  7. OpenGLES.framework
  8. QuartzCore.framework
  9. libsqlite3.0.tbd

3. Set up Xcode project

  • In your Xcode right click on.plist file and select Open As -> Source Code.
  • Add the following lines of code.
<key>ubertesters_organization_token</key>
    <string>{your_ubertesters_organization_sdk_token}</string>
<key>LSApplicationQueriesSchemes</key>
<array>
   <string>ubertesters</string>
</array>
<key>NSPhotoLibraryUsageDescription</key>
<string>To use photos as issue attachments.</string>
  • Open https://dashboard.ubertesters.com/projects and select your project, go to SDK Integration.

  • Copy “Ubertesters Organization SDK Token” from SDK Integration page and replace {your_ubertesters_organization_sdk_token} in .plist file with it.

4. Modify your Application Delegate file:

  • Import Ubertesters
  • Initialize Ubertesters SDK
#import <UbertestersSDK/Ubertesters.h>

-(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
     [[Ubertesters shared] initialize];
}

Additional Setup

Initialize Ubertesters with different options

It is possible to initialize Ubertesters in 2 ways:

  1. Using initializer with the default parameters. When you are using the initializer with the default parameters – UbertestersActivationModeWidget for activation mode and UbertestersLockingModeDisableUbertesters for locking mode:

    [[Ubertesters shared] initialize];
  2. Using customized initializer

    [[Ubertesters shared] initializeWithOptions: UbertestersActivationModeWidget | UbertestersLockingModeDisableUbertesters];

Ubertesters options

The customized initializer is used with the Ubertesters SDK options which determine the behavior of Ubertesters widget (with the help of which you call the bug reporting screen) and the behavior of the Ubertesters app when the build/app is not available in Ubertesters system. According to their functions, all the options can be divided in two groups: Activation mode options and Locking mode options.

You can use the following options for the customized initializer:

UbertestersActivationModeWidget The Ubertesters widget (an orange bubble) is shown, and you need to click on it to call a bug submission screen.
UbertestersActivationModeShake The widget is not shown, you need to shake your phone to call a menu for a bug submission or take a screenshot.
UbertestersActivationModeManual The Ubertesters widget is not shown, a menu should be called with the help of our API methods. You can specify the conditions under which the Ubertesters menu will be shown.

Locking mode options:

UbertestersLockingModeDisableUbertesters This option will not lock your application if the build is not uploaded on our server
UbertestersLockingModeLockApplication Ubertesters SDK locks the app completely if the build is not located on our server, it is impossible to navigate through the app
NB: Ubertesters SDK is used for beta-testing. Please make sure you’ve removed Ubertesters SDK before publishing your app to App Store.
NB: Make sure you are using Apple LLVN compiler 4.2 and greater. Go to BuildSettings of your target and find BuildOptions. There will be row Compiler for C/C++/Objective-C.

Ubertesters SDK API methods

API methods allow the developers to call additional methods and customize our SDK according to their needs.

Remote Logging

To perform remote logging you can use the UTLog method. UT log is a function with a text and a log level. Remote logging allows you to send an important system event information to Ubertesters server dedicating to storing and archiving this data. You can check the sent logs in your Ubertesters account in Activity > Feeds > Activity Stream

UTLog methods:

UTLogLevelInfo Sends info logs
UTLogLevelWar Sends warning logs
UTLogLevelError Sends error logs

To add UTLog, please use the following line:

[[Ubertesters shared] UTLog:@"text message" withLevel:UTLogLevelInfo];

API methods used with UbertestersActivationModeManual

These methods allow to specify the behavior of Ubertesters bug submission screen in case Manual mode is used.

Method Action Example
– (void)makeScreenshot; Captures screenshot in the app you are testing [[Ubertesters shared] makeScreenshot];
– (void)showMenu; Shows Ubertesters menu [[Ubertesters shared] showMenu];
– (void)hideMenu; Shows Ubertesters menu [[Ubertesters shared] hideMenu];

Disable Crash Handler

Method Action
– (void) disableCrashHandler; Disables Ubertesters crash handler. Allows using our platform along with third party crash reporters.

Example:

[[Ubertesters shared] disableCrashHandler];

1. Download the latest version of Ubertesters SDK for iOS

2. Go to ‘Build Phases’ -> ‘Link Binary With Libraries’ to add the following frameworks

  1. UIKit.framework
  2. CoreGraphics.framework
  3. CoreTelephony.framework
  4. SystemConfiguration.framework
  5. CoreLocation.framework
  6. AdSupport.framework
  7. OpenGLES.framework
  8. QuartzCore.framework
  9. libsqlite3.0.tbd

3. Set up Xcode project

  • In your Xcode right click on.plist file and select Open As -> Source Code.
  • Add the following lines of code.
<key>ubertesters_organization_token</key>
    <string>{your_ubertesters_organization_sdk_token}</string>
<key>LSApplicationQueriesSchemes</key>
<array>
   <string>ubertesters</string>
</array>
<key>NSPhotoLibraryUsageDescription</key>
<string>To use photos as issue attachments.</string>
  • Open https://dashboard.ubertesters.com/projects and select your project, go to SDK Integration.

  • Copy “Ubertesters Organization SDK Token” from SDK Integration page and replace {your_ubertesters_organization_sdk_token} in .plist file with it.

4. Modify your Application Delegate file:

  • Import Ubertesters to your project *-Bridging-Header.h file. Here is an article that describes what the “Bridging Header” is.

    #import <UbertestersSDK/Ubertesters.h>
  • Initialize Ubertesters SDK in your app delegate file.

    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
        	Ubertesters.shared().initialize()
        	return true
    }
    

Additional Setup

Initialize Ubertesters with different options

It is possible to initialize Ubertesters in 2 ways:

  1. Using initializer with the default parameters. When you are using the initializer with the default parameters – UbertestersActivationModeWidget for activation mode and UbertestersLockingModeDisableUbertesters for locking mode:

    Ubertesters.shared().initialize()
  2. Using customized initializer

    Ubertesters.shared().initialize(with: UbertestersOptions(UbertestersActivationModeWidget.rawValue | UbertestersActivationModeWidget.rawValue))

Ubertesters options

The customized initializer is used with the Ubertesters SDK options which determine the behavior of Ubertesters widget (with the help of which you call the bug reporting screen) and the behavior of the Ubertesters app when the build/app is not available in Ubertesters system. According to their functions, all the options can be divided in two groups: Activation mode options and Locking mode options.

You can use the following options for the customized initializer:

UbertestersActivationModeWidget The Ubertesters widget (an orange bubble) is shown, and you need to click on it to call a bug submission screen.
UbertestersActivationModeShake The widget is not shown, you need to shake your phone to call a menu for a bug submission or take a screenshot.
UbertestersActivationModeManual The Ubertesters widget is not shown, a menu should be called with the help of our API methods. You can specify the conditions under which the Ubertesters menu will be shown.

Locking mode options:

UbertestersLockingModeDisableUbertesters This option will not lock your application if the build is not uploaded on our server
UbertestersLockingModeLockApplication Ubertesters SDK locks the app completely if the build is not located on our server, it is impossible to navigate through the app
NB: Ubertesters SDK is used for beta-testing. Please make sure you’ve removed Ubertesters SDK before publishing your app to App Store.
NB: Make sure you are using Apple LLVN compiler 4.2 and greater. Go to BuildSettings of your target and find BuildOptions. There will be row Compiler for C/C++/Objective-C.

Ubertesters SDK API methods

API methods allow the developers to call additional methods and customize our SDK according to their needs.

Remote Logging

To perform remote logging you can use the UTLog method. UT log is a function with a text and a log level. Remote logging allows you to send an important system event information to Ubertesters server dedicating to storing and archiving this data. You can check the sent logs in your Ubertesters account in Activity > Session > Session Tracking

UTLog methods:

UTLogLevelInfo Sends info logs
UTLogLevelWar Sends warning logs
UTLogLevelError Sends error logs

To add UTLog, please use the following line:

Ubertesters.shared().utLog("text message", with: UTLogLevelInfo)

API methods used with UbertestersActivationModeManual

These methods allow to specify the behavior of Ubertesters bug submission screen in case Manual mode is used.

Method Action Example
– (void)makeScreenshot; Captures screenshot in the app you are testing Ubertesters.shared().makeScreenshot()
– (void)showMenu; Shows Ubertesters menu Ubertesters.shared().showMenu()
– (void)hideMenu; Shows Ubertesters menu Ubertesters.shared().hideMenu()

Disable Crash Handler

Method Action
– (void) disableCrashHandler; Disables Ubertesters crash handler. Allows using our platform along with third party crash reporters.

Example:

Ubertesters.shared().disableCrashHandler()

CONTACT US

Get in touch, fill out the form below, and an Ubertesters representative will contact you shortly to find out how we can help you.

REQUEST A DEMO

Want to see the Ubertesters platform at work? Please fill out the form below and we'll get in touch with you as quickly as possible.

Estimate your testing costs

Fill out a quick 20 sec form to get your free quote.

Thank you for contacting us

We will get back to you within 24 hours.

Meanwhile, follow us on Facebook or LinkedIn and see what we are up to.

Sorry, an error occurred

Please try again later.