Swiftgram/docs/Guide-Installation-Setup-template.md
2012-08-03 00:08:46 +02:00

6.0 KiB

Introduction

It is possible to install HockeySDK either using a binary framework distribution or as a Xcode subproject. While a binary distribution is a little easier to integrate and doesn't need to be compiled again, using a subproject allows you to debug through the code and make individual changes.

This document contains the following sections:

Installation with binary framework distribution

Download & Extract

  1. Download the latest HockeySDK-iOS framework.
  2. Unzip the file. A new folder HockeySDK-iOS is created.
  3. Move the folder into your project directory. We usually put 3rd-party code into a subdirectory named Vendor, so we move the directory into it.

Integrate into Xcode

  1. Drag & drop the HockeySDK-iOS folder from your project directory to your Xcode project.

  2. Similar to above, our projects have a group Vendor, so we drop it there.

  3. Select Create groups for any added folders and set the checkmark for your target. Then click Finish.

  4. Select your project in the Project Navigator (⌘+1).

  5. Select your target.

  6. Select the tab Build Phases.

  7. Expand Link Binary With Libraries.

  8. You need all of the following frameworks:

    • CoreGraphics.framework
    • Foundation.framework
    • QuartzCore.framework
    • SystemConfiguration.framework
    • UIKit.framework
  9. If one of the frameworks is missing, then click the + button, search the framework and confirm with the Add button.

  10. Select Build Settings

  11. Search for Other Linker Flags

  12. Double click on the build Setting titled Other Linker Flags.

  13. Add -ObjC

  14. Hit Done.

  15. HockeySDK-iOS also needs a JSON library. If you deployment target iOS >= 5, everything is set. If your deployment target is iOS 4.x, please include one of the following libraries:

Installation as subproject

Add the source as a Git Submodule

  1. Open a Terminal window
  2. Change to your projects directory `cd /path/to/MyProject'
  3. If this is a new project, initialize Git: git init
  4. Add the submodule: git submodule add git://github.com/BitStadium/HockeySDK-iOS.git

Add HockeySDK to your project

  1. Find the HockeySDK.xcodeproj file inside of the cloned HockeySDK-iOS project directory.
  2. Drag & Drop it into the Project Navigator (⌘+1).
  3. Select your project in the Project Navigator (⌘+1).
  4. Select your target.
  5. Select the tab Build Phases.
  6. Expand Target Dependencies.
  7. Add the following dependencies:
    • HockeySDKLib
    • HockeySDKResources
  8. Expand Link Binary With Libraries.
  9. Add libHockeySDK.a
  10. Drag & Drop CrashReporter.framework from the Frameworks folder in HockeySDK.xcodeproj
  11. You also need all of the following frameworks:
    • CoreGraphics.framework
    • Foundation.framework
    • QuartzCore.framework
    • SystemConfiguration.framework
    • UIKit.framework
  12. Expand Copy Bundle Resources.
  13. Drag & Drop HockeySDKResources.bundle from the Products folder in HockeySDK.xcodeproj
  14. Select Build Settings
  15. In Header Search Paths, add a path to $(SRCROOT)\Vendor\HockeyKit\Classes
  16. Search for Other Linker Flags
  17. Double click on the build Setting titled Other Linker Flags.
  18. Add -ObjC
  19. Hit Done.
  20. HockeySDK-iOS also needs a JSON library. If you deployment target iOS >= 5, everything is set. If your deployment target is iOS 4.x, please include one of the following libraries:

Setup HockeySDK

  1. Open your AppDelegate.m file.
  2. Add the following line at the top of the file below your own #import statements:
    #import "HockeySDK.h"
  3. Let the AppDelegate implement the protocols BITHockeyManagerDelegate, BITUpdateManagerDelegate and BITCrashManagerDelegate:
    @interface AppDelegate() <BITHockeyManager, BITUpdateManager, BITCrashManager> {}
    @end
  4. Search for the method application:didFinishLaunchingWithOptions:
  5. Add the following lines:
    [[BITHockeyManager sharedHockeyManager] configureWithBetaIdentifier:@"BETA_IDENTIFIER"
    liveIdentifier:@"LIVE_IDENTIFIER"
    delegate:self];
    [[BITHockeyManager sharedHockeyManager] startManager];
  6. Replace BETA_IDENTIFIER with the app identifier of your beta app. If you don't know what the app identifier is or how to find it, please read this how-to.
  7. Replace LIVE_IDENTIFIER with the app identifier of your release app.
  8. Add the following method:
    - (NSString *)customDeviceIdentifierForUpdateManager:(BITUpdateManager *)updateManager {
    #ifndef CONFIGURATION_AppStore
    if ([[UIDevice currentDevice] respondsToSelector:@selector(uniqueIdentifier)])
    return [[UIDevice currentDevice] performSelector:@selector(uniqueIdentifier)];
    #endif
    return nil;
    }
    This assumes that the Xcode build configuration used for App Store builds is named AppStore. Repleace this string with the appropriate Xcode configuration name.
  9. If you have added the lines to application:didFinishLaunchingWithOptions:, you should be ready to go. If you do some GCD magic or added the lines at a different place, please make sure to invoke the above code on the main thread.