You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Aug 2, 2023. It is now read-only.
**NOTE:** With the release of HockeySDK 4.0.0-alpha.1 a bug was introduced which lead to the exclusion of the Application Support folder from iCloud and iTunes backups.
6
6
7
-
If you have been using one of the affected versions (4.0.0-alpha.2, Version 4.0.0-beta.1, 4.0.0, 4.1.0-alpha.1, 4.1.0-alpha.2, or Version 4.1.0-beta.1), please make sure to update to at least version 4.0.1 or 4.1.0-beta.2 of our SDK as soon as you can.
8
-
7
+
If you have been using one of the affected versions (4.0.0-alpha.2, Version 4.0.0-beta.1, 4.0.0, 4.1.0-alpha.1, 4.1.0-alpha.2, or Version 4.1.0-beta.1), please make sure to update to a newer version of our SDK as soon as you can.
9
8
10
9
## Introduction
11
10
11
+
HockeySDK-Mac implements support for using HockeyApp in your Mac applications.
12
+
13
+
The following feature is currently supported:
14
+
15
+
1.**Collect crash reports:** If you app crashes, a crash log with the same format as from the Apple Crash Reporter is written to the device's storage. If the user starts the app again, he is asked to submit the crash report to HockeyApp. This works for both beta and live apps, i.e. those submitted to the App Store!
16
+
17
+
2.**User Metrics:** Understand user behavior to improve your app. Track usage through daily and monthly active users, monitor crash impacted users, as well as customer engagement through session count. You can now track Custom Events in your app, understand user actions and see the aggregates on the HockeyApp portal.
18
+
19
+
3.**Feedback:** Collect feedback from your users from within your app and communicate directly with them using the HockeyApp backend.
20
+
21
+
4.**Add analytics to Sparkle:** If you are using Sparkle to provide app-updates (HockeyApp also supports Sparkle feeds for beta distribution) the SDK contains helpers to add some analytics data to each Sparkle request.
22
+
12
23
This document contains the following sections:
13
24
14
25
1.[Requirements](#requirements)
15
26
2.[Setup](#setup)
16
27
3.[Advanced Setup](#advancedsetup)
17
-
1.[Setup with CocoaPods](#cocoapods)
18
-
2.[Crash Reporting](#crashreporting)
19
-
3.[User Metrics](#user-metrics)
20
-
4.[Feedback](#feedback)
21
-
5.[Sparkle](#sparkle)
22
-
6.[Debug information](#debug)
28
+
1.[Setup with CocoaPods](#cocoapods)
29
+
2.[Crash Reporting](#crashreporting)
30
+
3.[User Metrics](#user-metrics)
31
+
4.[Feedback](#feedback)
32
+
5.[Sparkle](#sparkle)
33
+
6.[Debug information](#debug)
23
34
4.[Documentation](#documentation)
24
35
5.[Troubleshooting](#troubleshooting)
25
36
6.[Contributing](#contributing)
26
-
7.[Contributor License](#contributorlicense)
27
-
8.[Contact](#contact)
37
+
1.[Code of Coduct](#codeofconduct)
38
+
2.[Contributor License](#contributorlicense)
39
+
7.[Contact](#contact)
28
40
29
41
<aid="requirements"></a>
30
42
## 1. Requirements
@@ -58,14 +70,14 @@ From our experience, 3rd-party libraries usually reside inside a subdirectory (l
58
70
3. Drag & drop `HockeySDK.framework` from your window in the `Finder` into your project in Xcode and move it to the desired location in the `Project Navigator` (e.g. into the group called `Vendor`)
59
71
4. A popup will appear. Select `Create groups for any added folders` and set the checkmark for your target. Then click `Finish`.
60
72
5. Now we’ll make sure the framework is copied into your app bundle:
61
-
- Click on your project in the `Project Navigator` (⌘+1).
62
-
- Click your target in the project editor.
63
-
- Click on the `Build Phases` tab.
64
-
- Click the `Add Build Phase` button at the bottom and choose `Add Copy Files`.
65
-
- Click the disclosure triangle next to the new build phase.
66
-
- Choose `Frameworks` from the Destination list.
67
-
- Drag `HockeySDK-Mac` from the Project Navigator left sidebar to the list in the new Copy Files phase.
68
-
73
+
- Click on your project in the `Project Navigator` (⌘+1).
74
+
- Click your target in the project editor.
75
+
- Click on the `Build Phases` tab.
76
+
- Click the `Add Build Phase` button at the bottom and choose `Add Copy Files`.
77
+
- Click the disclosure triangle next to the new build phase.
78
+
- Choose `Frameworks` from the Destination list.
79
+
- Drag `HockeySDK-Mac` from the Project Navigator left sidebar to the list in the new Copy Files phase.
80
+
69
81
6. Make sure to sign the app, since the SDK will store user related input in the keychain for privacy reasons
70
82
71
83
<aid="modifycode"></a>
@@ -76,36 +88,36 @@ From our experience, 3rd-party libraries usually reside inside a subdirectory (l
76
88
1. Open your `AppDelegate.m` file.
77
89
2. Add the following line at the top of the file below your own `import` statements:
78
90
79
-
```objectivec
80
-
@import HockeySDK;
81
-
```
91
+
```objectivec
92
+
@import HockeySDK;
93
+
```
82
94
83
95
3. Search for the method `applicationDidFinishLaunching:`
84
96
4. Add the following lines to setup and start the Application Insights SDK:
*Note:* In case of document based apps, invoke `startManager` at the end of `applicationDidFinishLaunching`, since otherwise you may lose the Apple events to restore, open untitled document etc.
111
123
@@ -172,39 +184,39 @@ On Mac OS X there are three types of crashes that are not reported to a register
172
184
1. Custom `NSUncaughtExceptionHandler` don't start working until after `NSApplication` has finished calling all of its delegate methods!
[NSException raise:@"ExceptionAtStartup" format:@"This will not be recognized!"];
191
+
...
192
+
}
193
+
```
182
194
183
195
2. The default `NSUncaughtExceptionHandler` in `NSApplication` only logs exceptions to the console and ends their processing. Resulting in exceptions that occur in the `NSApplication` "scope" not occurring in a registered custom `NSUncaughtExceptionHandler`.
3. Any exceptions occurring in IBAction or other GUI does not even reach the NSApplication default UncaughtExceptionHandler.
200
212
Example:
201
213
202
-
```objective
203
-
- (IBAction)doExceptionCrash:(id)sender {
204
-
NSArray *array = [NSArray array];
205
-
[array objectAtIndex:23];
206
-
}
207
-
```
214
+
```objective
215
+
- (IBAction)doExceptionCrash:(id)sender {
216
+
NSArray *array = [NSArray array];
217
+
[array objectAtIndex:23];
218
+
}
219
+
```
208
220
209
221
In general there are two solutions. The first one is to use an `NSExceptionHandler` class instead of an `NSUncaughtExceptionHandler`. But this has a few drawbacks which are detailed in `BITCrashReportExceptionApplication.h`.
210
222
@@ -230,28 +242,28 @@ The `BITCrashManagerDelegate` protocol (which is automatically included in `BITH
230
242
231
243
1. Text attachments: `-(NSString *)applicationLogForCrashManager:(BITCrashManager *)crashManager`
232
244
233
-
Check the following tutorial for an example on how to add CocoaLumberjack log data: [How to Add Application Specific Log Data on iOS or OS X](http://support.hockeyapp.net/kb/client-integration-ios-mac-os-x/how-to-add-application-specific-log-data-on-ios-or-os-x)
245
+
Check the following tutorial for an example on how to add CocoaLumberjack log data: [How to Add Application Specific Log Data on iOS or OS X](http://support.hockeyapp.net/kb/client-integration-ios-mac-os-x/how-to-add-application-specific-log-data-on-ios-or-os-x)
`BITFeedbackManager` lets your users communicate directly with you via the app and an integrated user interface. It provides a single threaded discussion with a user running your app. This feature is only enabled, if you integrate the actual view controllers into your app.
335
-
347
+
336
348
You should never create your own instance of `BITFeedbackManager` but use the one provided by the `[BITHockeyManager sharedHockeyManager]`:
@@ -348,8 +360,8 @@ Please check the [documentation](#documentation) of the `BITFeedbackManager` cla
348
360
#### 3.5.1 Setup for beta distribution
349
361
350
362
1. Install the Sparkle SDK: [http://sparkle-project.org](http://sparkle-project.org)
351
-
As of today (01/2016), Sparkle doesn't support Mac sandboxes. If you require this, check out the following discussion https://github.com/sparkle-project/Sparkle/issues/363
352
-
363
+
As of today (01/2016), Sparkle doesn't support Mac sandboxes. If you require this, check out the following discussion https://github.com/sparkle-project/Sparkle/issues/363
364
+
353
365
2. Set `SUFeedURL` to `https://rink.hockeyapp.net/api/2/apps/<APP_IDENTIFIER>` and replace `<APP_IDENTIFIER>` with the same value used to initialize the HockeySDK
354
366
355
367
3. Create a `.zip` file of your app bundle and upload that to HockeyApp.
@@ -359,34 +371,34 @@ Please check the [documentation](#documentation) of the `BITFeedbackManager` cla
359
371
360
372
1. Set the following additional Sparkle property:
361
373
362
-
```objectivec
363
-
sparkleUpdater.sendsSystemProfile = YES;
364
-
```
374
+
```objectivec
375
+
sparkleUpdater.sendsSystemProfile = YES;
376
+
```
365
377
366
378
2. Add the following Sparkle delegate method (don't forget to bind `SUUpdater` to your appDelegate!):
@@ -404,24 +416,24 @@ To check if data is send properly to HockeyApp and also see some additional SDK
404
416
<aid="documentation"></a>
405
417
## 4. Documentation
406
418
407
-
Our documentation can be found on [HockeyApp](http://hockeyapp.net/help/sdk/mac/4.1.1/index.html).
419
+
Our documentation can be found on [HockeyApp](http://hockeyapp.net/help/sdk/mac/4.1.2/index.html).
408
420
409
421
<aid="troubleshooting"></a>
410
422
## 5.Troubleshooting
411
423
412
424
1. dlyb crash on startup
413
425
414
-
Make sure that the apps build setting has `LD_RUNPATH_SEARCH_PATHS` set to `@executable_path/../Frameworks`
426
+
Make sure that the apps build setting has `LD_RUNPATH_SEARCH_PATHS` set to `@executable_path/../Frameworks`
415
427
416
428
2. Crash on startup with Xcode debugger running
417
429
418
-
Make sure there is no `All Exceptions` breakpoint active or limit it to `Objective-C` only and exclude `C++`.
430
+
Make sure there is no `All Exceptions` breakpoint active or limit it to `Objective-C` only and exclude `C++`.
419
431
420
432
3. Feature are not working as expected
421
433
422
-
Enable debug output to the console to see additional information from the SDK initializing the modules, sending and receiving network requests and more by adding the following code before calling `startManager`:
434
+
Enable debug output to the console to see additional information from the SDK initializing the modules, sending and receiving network requests and more by adding the following code before calling `startManager`:
0 commit comments