Skip to content
This repository has been archived by the owner on Feb 19, 2020. It is now read-only.

Commit

Permalink
Update to version 3.5.0 RC 3
Browse files Browse the repository at this point in the history
  • Loading branch information
DerAndereAndi committed Oct 23, 2013
1 parent 5d6c405 commit 934d8dc
Show file tree
Hide file tree
Showing 7 changed files with 125 additions and 30 deletions.
2 changes: 1 addition & 1 deletion HockeySDK.podspec
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
Pod::Spec.new do |s|
s.name = 'HockeySDK'
s.version = '3.5.0rc2'
s.version = '3.5.0-rc3'
s.license = 'MIT'
s.platform = :ios, '5.0'
s.summary = 'Distribute beta apps and collect crash reports with HockeyApp.'
Expand Down
14 changes: 7 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
## Version 3.5.0 RC 2
## Version 3.5.0 RC 3

- [Changelog](http://www.hockeyapp.net/help/sdk/ios/3.5.0rc2/docs/docs/Changelog.html)
- [Changelog](http://www.hockeyapp.net/help/sdk/ios/3.5.0rc3/docs/docs/Changelog.html)


## Introduction
Expand Down Expand Up @@ -31,10 +31,10 @@ The main SDK class is `BITHockeyManager`. It initializes all modules and provide

## Installation & Setup

- [Installation & Setup](http://www.hockeyapp.net/help/sdk/ios/3.5.0rc2/docs/docs/Guide-Installation-Setup.html) (Recommended)
- [Installation & Setup Advanced](http://www.hockeyapp.net/help/sdk/ios/3.5.0rc2/docs/docs/Guide-Installation-Setup-Advanced.html) (Using Git submodule and Xcode sub-project)
- [Identify and authenticate users of Ad-Hoc or Enterprise builds](http://www.hockeyapp.net/help/sdk/ios/3.5.0rc2/docs/docs/HowTo-Authenticating-Users-on-iOS.html)
- [Migration from previous SDK Versions](http://www.hockeyapp.net/help/sdk/ios/3.5.0rc2/docs/docs/Guide-Migration-Kits.html)
- [Installation & Setup](http://www.hockeyapp.net/help/sdk/ios/3.5.0rc3/docs/docs/Guide-Installation-Setup.html) (Recommended)
- [Installation & Setup Advanced](http://www.hockeyapp.net/help/sdk/ios/3.5.0rc3/docs/docs/Guide-Installation-Setup-Advanced.html) (Using Git submodule and Xcode sub-project)
- [Identify and authenticate users of Ad-Hoc or Enterprise builds](http://www.hockeyapp.net/help/sdk/ios/3.5.0rc3/docs/docs/HowTo-Authenticating-Users-on-iOS.html)
- [Migration from previous SDK Versions](http://www.hockeyapp.net/help/sdk/ios/3.5.0rc3/docs/docs/Guide-Migration-Kits.html)
- [Mac Desktop Uploader](http://support.hockeyapp.net/kb/how-tos/how-to-upload-to-hockeyapp-on-a-mac)


Expand All @@ -48,4 +48,4 @@ This documentation provides integrated help in Xcode for all public APIs and a s

3. Copy the content into ~`/Library/Developer/Shared/Documentation/DocSet`

The documentation is also available via the following URL: [http://hockeyapp.net/help/sdk/ios/3.5.0rc2/](http://hockeyapp.net/help/sdk/ios/3.5.0rc2/)
The documentation is also available via the following URL: [http://hockeyapp.net/help/sdk/ios/3.5.0rc3/](http://hockeyapp.net/help/sdk/ios/3.5.0rc3/)
4 changes: 2 additions & 2 deletions Support/buildnumber.xcconfig
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#include "HockeySDK.xcconfig"

BUILD_NUMBER = 21
VERSION_STRING = 3.5.0RC2
BUILD_NUMBER = 22
VERSION_STRING = 3.5.0-RC3
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) BITHOCKEY_VERSION="@\""$(VERSION_STRING)"\""
BIT_ARM_ARCHS = armv7 armv7s arm64
BIT_SIM_ARCHS = x86_64 i386
Expand Down
41 changes: 40 additions & 1 deletion docs/Changelog-template.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,46 @@
## Version 3.5.0 RC 3

- General

- [NEW] Added public access to the anonymous UUID that the SDK generates per app installation
- [NEW] Added possibility to overwrite SDK specific localization strings in the apps localization files
- [UPDATE] Podspec updates
- [BUGFIX] Fixed memory leaks
- [BUGFIX] Various minor bugfixes
<br /><br/>

- Crash Reporting

- [UPDATE] Integrated PLCrashReporter 1.2 beta 3
- [BUGFIX] Fixed crash if minimum OS version isn't provided
- [BUGFIX] Update private C function to use BIT namespace
<br /><br/>

- Feedback

- [BUGFIX] Fixed some layout issues in the user info screen
<br /><br/>

- Ad-Hoc/Enterprise Updates

- [BUGFIX] Fixed update view controller not showing updated content after using the check button
- [BUGFIX] Fixed usage value being reset on every app cold start
<br /><br/>

- Ad-Hoc/Enterprise Authentication

- [NEW] Added web based user authentication
- [UPDATE] IMPORTANT: You need to call `[[BITHockeyManager sharedHockeyManager].authenticator authenticateInstallation];` yourself after startup when the authentication and/or verification should be performed and when it is safe to present a modal view controller!
- [UPDATE] Removed `automaticMode`. You now need to call `authenticateInstallation` when it is safe to do so or handle the complete process yourself.
<br /><br/>

## Version 3.5.0 RC 2

- General

- [BUGFIX] Remove assertions from release build
<br /><br/>

- Ad-Hoc/Enterprise Updates

- [BUGFIX] Add new iOS 7 icon sizes detection and adjust corner radius
Expand All @@ -14,13 +51,15 @@
- General

- [UPDATE] Documentation improvements nearly everywhere
<br /><br/>

- Crash Reporting

- [UPDATE] Integrated PLCrashReporter 1.2 beta 2
- [UPDATE] 64 bit crash reports now contain the correct architecture string
- [UPDATE] Automatically add the users UDID or email to crash reports in Ad-Hoc/Enterprise builds if they are provided by BITAuthenticator
- [BUGFIX] Fix userName, userEmail and userID not being added to crash reports
- [BUGFIX] Fixed userName, userEmail and userID not being added to crash reports
<br /><br/>

- App Store Updates

Expand Down
6 changes: 3 additions & 3 deletions docs/Guide-Installation-Setup-Advanced-template.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
## Version 3.5.0 RC 2
## Version 3.5.0 RC 3

- [Changelog](http://www.hockeyapp.net/help/sdk/ios/3.5.0rc2/docs/docs/Changelog.html)
- [Changelog](http://www.hockeyapp.net/help/sdk/ios/3.5.0rc3/docs/docs/Changelog.html)

## Introduction

Expand Down Expand Up @@ -149,4 +149,4 @@ This documentation provides integrated help in Xcode for all public APIs and a s

3. Copy the content into ~`/Library/Developer/Shared/Documentation/DocSet`

The documentation is also available via the following URL: [http://hockeyapp.net/help/sdk/ios/3.5.0rc2/](http://hockeyapp.net/help/sdk/ios/3.5.0rc2/)
The documentation is also available via the following URL: [http://hockeyapp.net/help/sdk/ios/3.5.0rc3/](http://hockeyapp.net/help/sdk/ios/3.5.0rc3/)
6 changes: 3 additions & 3 deletions docs/Guide-Installation-Setup-template.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
## Version 3.5.0 RC 2
## Version 3.5.0 RC 3

- [Changelog](http://www.hockeyapp.net/help/sdk/ios/3.5.0rc2/docs/docs/Changelog.html)
- [Changelog](http://www.hockeyapp.net/help/sdk/ios/3.5.0rc3/docs/docs/Changelog.html)

## Introduction

Expand Down Expand Up @@ -116,4 +116,4 @@ This documentation provides integrated help in Xcode for all public APIs and a s

1. Copy `de.bitstadium.HockeySDK-iOS-3.5.0.docset` into ~`/Library/Developer/Shared/Documentation/DocSet`

The documentation is also available via the following URL: [http://hockeyapp.net/help/sdk/ios/3.5.0rc2/](http://hockeyapp.net/help/sdk/ios/3.5.0rc2/)
The documentation is also available via the following URL: [http://hockeyapp.net/help/sdk/ios/3.5.0rc3/](http://hockeyapp.net/help/sdk/ios/3.5.0rc3/)
82 changes: 69 additions & 13 deletions docs/HowTo-Authenticating-Users-on-iOS-template.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ HockeySDK 3.5 for iOS includes a new class called `BITAuthenticator` which serve

Previous versions of HockeySDK for iOS used the response of the method `UIDevice#uniqueIdentifier` (aka the UDID) to identify which user was testing an app and which versions are installable on the user's device. `UIDevice#uniqueIdentifier` was deprecated with iOS 5 and we expect Apple to remove it from future versions of iOS.

`BITAuthenticator` offers four strategies for authentication:
`BITAuthenticator` offers five strategies for authentication:

* **BITAuthenticatorIdentificationTypeAnonymous** (_Default_)

Expand All @@ -25,22 +25,18 @@ Previous versions of HockeySDK for iOS used the response of the method `UIDevice
* **BITAuthenticatorIdentificationTypeHockeyAppEmail**

The user needs to enter the email address and password of his HockeyApp account.

* **BITAuthenticatorIdentificationTypeWebAuth**

The `BITAuthenticator` class doesn't do anything on its own. In addition to setting up the behavior, you also need to trigger the process yourself.
The app opens Safari and asks the user to log in to his HockeyApp account.

The most simple option is to place a call to `[[BITHockeyManager sharedHockeyManager] authenticateInstallation]` in your code. This will show a UI asking for identification details according to the chosen strategy.
After setting up one of those strategies, you need to trigger the authentication process by calling

**IMPORTANT**: If your app shows a modal view on startup, make sure to call `authenticateInstallation` either once your modal view is fully presented (e.g. its `viewDidLoad:` method is processed) or once your modal view is dismissed.

The second option is to implement your own workflow by using

- (void) identifyWithCompletion:(void(^)(BOOL identified, NSError *error)) completion;

to identify the current user depending on your strategy and
[[BITHockeyManager sharedHockeyManager] authenticateInstallation];

- (void) validateWithCompletion:(void(^)(BOOL validated, NSError *error)) completion;
in your code. This will show a UI asking for identification details unless you set the strategy `BITAuthenticatorIdentificationTypeAnonymous` (then no UI is shown, but you still need to call this method). A [custom workflow](#custom-workflow) is explained at the end of this document.

to validate the user may still use the app if required.
**IMPORTANT**: If your app shows a modal view on startup, make sure to call `authenticateInstallation` either once your modal view is fully presented (e.g. its `viewDidLoad:` method is processed) or once your modal view is dismissed.

The following sections explain the different strategies and their advantages / disadvantages.

Expand Down Expand Up @@ -161,4 +157,64 @@ Advantages:
Disadvantages:

* Users need to be a tester, member, or developer of your app
* Users need to set a password on HockeyApp (even if they use Facebook Connect)
* Users need to set a password on HockeyApp (even if they use Facebook Connect)

## Authentication using Login via Safari

Initialize HockeySDK with the following code:

[[BITHockeyManager sharedHockeyManager] configureWithIdentifier:@"APP_ID" delegate:self];
[[BITHockeyManager sharedHockeyManager].authenticator setIdentificationType:BITAuthenticatorIdentificationTypeWebAuth];
[[BITHockeyManager sharedHockeyManager] startManager];
[[BITHockeyManager sharedHockeyManager] authenticateInstallation];

Replace APP_ID with the your App ID (can be found on the app page).

The SDK will ask the user to identify himself by opening Safari. Safari then opens your app again via an URL scheme. You need to add the URL scheme to your Info.plist and handle it in your application delegate:

1. Open your Info.plist.

2. Add a new key `CFBundleURLTypes`.

3. Change the key of the first child item to `URL Schemes` or `CFBundleURLSchemes`.

4. Enter `haAPP_ID` as the URL scheme with APP_ID being replaced by the App ID of your app.

5. Open your AppDelegate.m.

6. Add the following code:

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {
if( [[BITHockeyManager sharedHockeyManager].authenticator handleOpenURL:url
sourceApplication:sourceApplication
annotation:annotation]) {
return YES;
}

/* Your own custom URL handlers */

return NO;
}

Advantages:

* HockeyApp can show which user has installed your app and how long he used it.
* The SDK only offers installable builds, i.e. with the UDID in the provisioning profile (if all devices of this user are in the provisioning profile).
* If you remove a user from your app, he will not be able to use it anymore (see documentation for `restrictApplicationUsage`)
* Works with any type of user accounts (even if they use Facebook Connect)

Disadvantages:

* Users need to be a tester, member, or developer of your app

## Custom Workflow

As an alternative, you can implement your own workflow with following two methods:

1. Start the process to identify a new user with one of the above strategies. This method will show a modal view only if the user was not identified before:

- (void) identifyWithCompletion:(void(^)(BOOL identified, NSError *error)) completion;

2. Validate that the user is still a tester, member, or developer of your app. This will show an alert and a modal view only if the user could not be validated. Otherwise, the process will succeed without showing a message or view:

- (void) validateWithCompletion:(void(^)(BOOL validated, NSError *error)) completion;

0 comments on commit 934d8dc

Please sign in to comment.