Integration for iOS

Download the latest version

Download v 2.0.1 Released: Sep 2, 2014

Requirements

UBERTESTERS FRAMEWORK

Requires iOS 5.1.1 or later. Compatible with iPhone, iPad, and iPod touch. This app is optimized for iPhone 5.

UBERTESTERS HUB

Requires iOS 6.0 or later. Compatible with iPhone, iPad, and iPod touch. This app is optimized for iPhone 5.

Release Notes

v. 2.0.1
  • Fixed the bug with the Ubertesters widget blocking the part of user interface in the default position.

Download the latest version of Ubertesters SDK for iOS

  1. Download ubertesters.sdk.ios.zip and unzip it
  2. Drag the UbertestersSDK folder to your project.
1

Add frameworks to your Link Binary With Libraries Build Phase tab.

Frameworks to be added:

  • AdSupport.framework,
  • QuartzCore.framework
  • CoreImage.framework,
  • SystemConfiguration.framework,
  • CoreTelephony.framework,
  • CoreLocation.framework.
  • AudioToolbox.framework.
  • OpenGLES.framework
  • CoreMotion.framework

  1. Select your Project in the Project Navigator
  2. Select the target you want to enable the SDK for
  3. Select the Build Phases tab
  4. Open the Link Binary With Libraries Phase
  5. Click the + to add a new library
  6. Find QuartzCore.framework in the list and add it
  7. Repeat Steps 2 – 6 until all targets you want to use the SDK with
2

Simply add pod 'Ubertesters' to your Podfile and run pod install You can then skip steps 1 throungh 2.

1-2

Add "Ubertesters Project ID" to your app's "Info.plist" file

  • 1.Open  http://beta.ubertesters.com/projects and select your project, go to SDK Integration
  • 2.Copy "Ubertesters Project ID"
    webprojectID
  • 3.Add "Ubertesters Project ID" to your app's "Info.plist" with key "ubertesters_project_id"
    projectIDinplist
3

Modify your Application Delegate file:

  1. Import Ubertesters:
    #import <UbertestersSDK/Ubertesters.h>

    HINT:

    Rather than importing Ubertesters.h in every file you may add the above line into your pre-compiled header (<projectname>_Prefix.pch) file inside of the #ifdef __OBJC__ section. It will give you access to the SDK across all files.

  2. Add the following line in your application:
    -(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:
        (NSDictionary *)launchOptions
    {
        //your code here
        ...
        //Ubertersters SDK initialization
        [[Ubertesters shared] initialize];
        return YES; // this is the rest of your method
    }
                                

WARNING:

- (void)initialize:(LockingMode)mode; //deprecated
Use instead:
- (void)initializeWithOptions:(UbertestersOptions)options
Example:
[[Ubertesters shared] initializeWithOptions:UbertestersOptionsSlider |
UbertestersOptionsLockingModeDisableUbertestersIfBuildNotExist];
UbertestersOptions:
- UbertestersOptionsDefault;
- UbertestersOptionsSlider;
- UbertestersOptionsShake;
- UbertestersOptionsManual;
- UbertestersOptionsLockingModeDisableUbertestersIfBuildNotExist;
- UbertestersOptionsLockingModeAppIfBuildNotExist;

UbertestersOptionsDefault - Default option (UbertestersOptionsSlider and UbertestersOptionsLockingModeDisableUbertestersIfBuildNotExist will be as default options).
UbertestersOptionsSlider - Option for using Slider mode.
UbertestersOptionsShake - Option for using Shake mode.
Hint: in shake mode first shake will open Ubertesters main screen, second shake will make screenshot and will open screenshot edit screen.
UbertestersOptionsManual - Option for Manual mode.
UbertestersOptionsLockingModeDisableUbertestersIfBuildNotExist - is default option, that will not lock your application if auth function receive 74th error - «Application not found».
UbertestersOptionsLockingModeAppIfBuildNotExist - Ubertesters SDK locks app if build not exist.

If you want to use more than one option use «|» symbol.
Example:
[[Ubertesters shared] initializeWithOptions:UbertestersOptionsSlider |
UbertestersOptionsLockingModeDisableUbertestersIfBuildNotExist];
- in this case you will see Ubertesters slider and Ubertesters library won`t be visible if build doesn't exist.
[[Ubertesters shared] initializeWithOptions:UbertestersOptionsManual |
UbertestersOptionsLockingModeAppIfBuildNotExist];
- in this case you will have to manually use methods from API. And build will be visible if it`s not available in Ubertesters system.

WARNING:

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.

4

Congratulations! Ubertesters SDK has been integrated!

See API reference to use Ubertesters library

5

API

Remote Logging

To perform remote logging you can use the UTLog

Example:

[[Ubertesters shared] UTLog:@"" level:@""]; //deprecated
Use instead - (void)UTLog:(NSString *)format withLevel:(UTLogLevel)level
typedef enum
{
    UTLogLevelError, // level = «error»
    UTLogLevelWarning, // level = «warning»
    UTLogLevelInfo // level = «info»
} UTLogLevel;
                        
Example:
[[Ubertesters shared] UTLog:@“text message” withLevel:UTLogLevelInfo];
- (void)makeScreenshot;
Makes Screenshot of any view (openGL or UIKit).

Example:
[[Ubertesters shared] makeScreenshot];
- (void)showMenuSlider;
Shows menu slider.

Example:
[[Ubertesters shared] showMenuSlider];
- (void)hideMenuSlider;
Hides menu picker.

Example:
[[Ubertesters shared] hideMenuSlider];
- (void)showMenu;
Shows Ubertesters menu.

Example:
[[Ubertesters shared] showMenu];
- (void)hideMenu;
Hides Ubertesters menu.

Example:
[[Ubertesters shared] hideMenu];
6