diff --git a/HockeySDK.podspec b/HockeySDK.podspec index 9fc1c071f2..389e7613ec 100644 --- a/HockeySDK.podspec +++ b/HockeySDK.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'HockeySDK' - s.version = '3.6-b.2' + s.version = '3.6' s.summary = 'Collect live crash reports, get feedback from your users, distribute your betas, and analyze your test coverage with HockeyApp.' s.description = <<-DESC @@ -12,7 +12,7 @@ Pod::Spec.new do |s| DESC s.homepage = 'http://hockeyapp.net/' - s.documentation_url = 'http://hockeyapp.net/help/sdk/ios/3.6-b.2/' + s.documentation_url = 'http://hockeyapp.net/help/sdk/ios/3.6/' s.license = 'MIT' s.author = { 'Andreas Linde' => 'mail@andreaslinde.de', 'Thomas Dohmke' => "thomas@dohmke.de" } @@ -22,9 +22,9 @@ Pod::Spec.new do |s| s.source_files = 'Classes' s.requires_arc = true - s.frameworks = 'CoreText', 'QuartzCore', 'SystemConfiguration', 'CoreGraphics', 'UIKit', 'Security', 'AssetsLibrary', 'MobileCoreServices', 'QuickLook' + s.frameworks = 'AssetsLibrary', 'CoreText', 'CoreGraphics', 'MobileCoreServices', 'QuartzCore', 'QuickLook', 'Security', 'SystemConfiguration', 'UIKit' s.ios.vendored_frameworks = 'Vendor/CrashReporter.framework' - s.xcconfig = {'GCC_PREPROCESSOR_DEFINITIONS' => %{$(inherited) BITHOCKEY_VERSION="@\\"#{s.version}\\"" BITHOCKEY_C_VERSION="\\"#{s.version}\\"" BITHOCKEY_BUILD="@\\"30\\"" BITHOCKEY_C_BUILD="\\"30\\""} } + s.xcconfig = {'GCC_PREPROCESSOR_DEFINITIONS' => %{$(inherited) BITHOCKEY_VERSION="@\\"#{s.version}\\"" BITHOCKEY_C_VERSION="\\"#{s.version}\\"" BITHOCKEY_BUILD="@\\"33\\"" BITHOCKEY_C_BUILD="\\"33\\""} } s.resource_bundle = { 'HockeySDKResources' => ['Resources/*.png', 'Resources/*.lproj'] } s.preserve_paths = 'Resources', 'Support' diff --git a/README.md b/README.md index ffc17ef49b..5abfbef998 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ -## Version 3.6 Beta 2 +## Version 3.6 -- [Changelog](http://www.hockeyapp.net/help/sdk/ios/3.6-b.2/docs/docs/Changelog.html) +- [Changelog](http://www.hockeyapp.net/help/sdk/ios/3.6/docs/docs/Changelog.html) ## Introduction @@ -25,16 +25,16 @@ The main SDK class is `BITHockeyManager`. It initializes all modules and provide ## Prerequisites 1. Before you integrate HockeySDK into your own app, you should add the app to HockeyApp if you haven't already. Read [this how-to](http://support.hockeyapp.net/kb/how-tos/how-to-create-a-new-app) on how to do it. -2. We also assume that you already have a project in Xcode and that this project is opened in Xcode 4. +2. We also assume that you already have a project in Xcode and that this project is opened in Xcode 5. 3. The SDK supports iOS 6.0 or newer. ## Installation & Setup -- [Installation & Setup](http://www.hockeyapp.net/help/sdk/ios/3.6-b.2/docs/docs/Guide-Installation-Setup.html) (Recommended) -- [Installation & Setup Advanced](http://www.hockeyapp.net/help/sdk/ios/3.6-b.2/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.6-b.2/docs/docs/HowTo-Authenticating-Users-on-iOS.html) -- [Migration from previous SDK Versions](http://www.hockeyapp.net/help/sdk/ios/3.6-b.2/docs/docs/Guide-Migration-Kits.html) +- [Installation & Setup](http://www.hockeyapp.net/help/sdk/ios/3.6/docs/docs/Guide-Installation-Setup.html) (Recommended) +- [Installation & Setup Advanced](http://www.hockeyapp.net/help/sdk/ios/3.6/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.6/docs/docs/HowTo-Authenticating-Users-on-iOS.html) +- [Migration from previous SDK Versions](http://www.hockeyapp.net/help/sdk/ios/3.6/docs/docs/Guide-Migration-Kits.html) ## Xcode Documentation @@ -47,4 +47,4 @@ This documentation provides integrated help in Xcode for all public APIs and a s 3. Copy the content into ~`/Library/Developer/Shared/Documentation/DocSets` -The documentation is also available via the following URL: [http://hockeyapp.net/help/sdk/ios/3.6-b.2/](http://hockeyapp.net/help/sdk/ios/3.6-b.2/) +The documentation is also available via the following URL: [http://hockeyapp.net/help/sdk/ios/3.6/](http://hockeyapp.net/help/sdk/ios/3.6/) diff --git a/Support/buildnumber.xcconfig b/Support/buildnumber.xcconfig index 7d717adfc9..511c3eee4c 100644 --- a/Support/buildnumber.xcconfig +++ b/Support/buildnumber.xcconfig @@ -1,7 +1,7 @@ #include "HockeySDK.xcconfig" -BUILD_NUMBER = 30 -VERSION_STRING = 3.6-b.2 +BUILD_NUMBER = 33 +VERSION_STRING = 3.6 GCC_PREPROCESSOR_DEFINITIONS = $(inherited) BITHOCKEY_VERSION="@\""$(VERSION_STRING)"\"" BITHOCKEY_BUILD="@\""$(BUILD_NUMBER)"\"" BITHOCKEY_C_VERSION="\""$(VERSION_STRING)"\"" BITHOCKEY_C_BUILD="\""$(BUILD_NUMBER)"\"" BIT_ARM_ARCHS = armv7 armv7s arm64 BIT_SIM_ARCHS = x86_64 i386 diff --git a/docs/Changelog-template.md b/docs/Changelog-template.md index c91620f8a1..10a5589198 100644 --- a/docs/Changelog-template.md +++ b/docs/Changelog-template.md @@ -1,3 +1,24 @@ +## Version 3.6.0 + +- [NEW] `BITCrashManager`: Added support for iOS 8 Extensions +- [NEW] `BITCrashManager`: Option to add a custom UI flow before sending a crash report, e.g. to ask users for more details (see `setAlertViewHandler:`) +- [NEW] `BITCrashManager`: Provide details on a crash report (see `lastSessionCrashDetails` and `BITCrashDetails`) +- [NEW] `BITCrashManager`: Experimental support for detecting app kills triggered by iOS while the app is in foreground (see `enableAppNotTerminatingCleanlyDetection`) +- [NEW] `BITCrashManager`: Added `didReceiveMemoryWarningInLastSession` which indicates if the last app session did get a memory warning by iOS +- [NEW] `BITFeedbackManager`: Attach and annotate images and screenshots +- [NEW] `BITFeedbackManager`: Attach any binary data to compose message view (see `showFeedbackComposeViewWithPreparedItems:`) +- [NEW] `BITFeedbackManager`: Show a compose message with a screenshot image attached using predefined triggers (see `feedbackObservationMode`) or your own custom triggers (see `showFeedbackComposeViewWithGeneratedScreenshot`) +- [NEW] Minimum iOS Deployment version is now iOS 6.0 +- [NEW] Requires to link additional frameworks: `AssetLibrary`, `MobileCoreServices`, `QuickLook` +- [UPDATE] `BITCrashManager`: Updated `setCrashCallbacks` handling now using `BITCrashManagerCallbacks` instead of `PLCrashReporterCallbacks` (which is no longer public) +- [UPDATE] `BITCrashManager`: Crash reports are now sent individually if there are multiple pending +- [UPDATE] `BITUpdateManager`: Improved algorithm for fetching an optimal sized app icon for the Update View +- [UPDATE] `BITUpdateManager`: Properly consider paragraphs in release notes when presenting them in the Update view +- [UPDATE] Property `delegate` in all components is now private. Set the delegate on `BITHockeyManager` only! +- [UPDATE] Removed support for Atlassian JMC +- [BUGFIX] Various additional fixes +

+ ## Version 3.6.0 Beta 2 - [NEW] `BITFeedbackManager`: Screenshot feature is now part of the public API diff --git a/docs/Guide-Installation-Setup-Advanced-template.md b/docs/Guide-Installation-Setup-Advanced-template.md index 9836044edf..2705376f7e 100644 --- a/docs/Guide-Installation-Setup-Advanced-template.md +++ b/docs/Guide-Installation-Setup-Advanced-template.md @@ -1,6 +1,6 @@ -## Version 3.6 Beta 2 +## Version 3.6 -- [Changelog](http://www.hockeyapp.net/help/sdk/ios/3.6-b.2/docs/docs/Changelog.html) +- [Changelog](http://www.hockeyapp.net/help/sdk/ios/3.6/docs/docs/Changelog.html) ## Introduction @@ -12,6 +12,7 @@ This document contains the following sections: - [Set up Git submodule](#download) - [Set up Xcode](#xcode) - [Modify Code](#modify) +- [iOS 8 Extensions](#extension) - [Additional Options](#options) @@ -102,7 +103,7 @@ The SDK runs on devices with iOS 6.0 or higher. ### Swift -1. Add the following line to your [Objective-C bridging header](https://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/BuildingCocoaApps/MixandMatch.html) file: +1. Add the following line to your [Objective-C bridging header](https://developer.apple.com/library/ios/documentation/Swift/Conceptual/BuildingCocoaApps/MixandMatch.html) file: #import @@ -127,6 +128,31 @@ The SDK runs on devices with iOS 6.0 or higher. *Note:* The SDK is optimized to defer everything possible to a later time while making sure e.g. crashes on startup can also be caught and each module executes other code with a delay some seconds. This ensures that applicationDidFinishLaunching will process as fast as possible and the SDK will not block the startup sequence resulting in a possible kill by the watchdog process. + +## iOS 8 Extensions + +The following points need to be considered to use HockeySDK with iOS 8 Extensions: + +1. Each extension is required to use the same values for version (`CFBundleShortVersionString`) and build number (`CFBundleVersion`) as the main app uses. (This is required only if you are using the same APP_IDENTIFIER for your app and extensions). +2. You need to make sure the SDK setup code is only invoked once. Since there is no `applicationDidFinishLaunching:` equivalent and `viewDidLoad` can run multiple times, you need to use a setup like the following example: + + @interface TodayViewController () + + @property (nonatomic, assign) BOOL didSetupHockeySDK; + + @end + + @implementation TodayViewController + + - (void)viewDidLoad { + [super viewDidLoad]; + if (!self.didSetupHockeySDK) { + [[BITHockeyManager sharedHockeyManager] configureWithIdentifier:@"APP_IDENTIFIER"]; + [[BITHockeyManager sharedHockeyManager] startManager]; + self.didSetupHockeySDK = YES; + } + } + ## Additional Options @@ -140,7 +166,7 @@ This documentation provides integrated help in Xcode for all public APIs and a s 3. Copy the content into ~`/Library/Developer/Shared/Documentation/DocSets` -The documentation is also available via the following URL: [http://hockeyapp.net/help/sdk/ios/3.6-b.1/](http://hockeyapp.net/help/sdk/ios/3.6-b.1/) +The documentation is also available via the following URL: [http://hockeyapp.net/help/sdk/ios/3.6/](http://hockeyapp.net/help/sdk/ios/3.6/) ### Set up with xcconfig diff --git a/docs/Guide-Installation-Setup-template.md b/docs/Guide-Installation-Setup-template.md index 1e4af48751..4236a90136 100644 --- a/docs/Guide-Installation-Setup-template.md +++ b/docs/Guide-Installation-Setup-template.md @@ -1,6 +1,6 @@ -## Version 3.6 Beta 2 +## Version 3.6 -- [Changelog](http://www.hockeyapp.net/help/sdk/ios/3.6-b.2/docs/docs/Changelog.html) +- [Changelog](http://www.hockeyapp.net/help/sdk/ios/3.6/docs/docs/Changelog.html) ## Introduction @@ -142,9 +142,9 @@ The following points need to be considered to use HockeySDK with iOS 8 Extension This documentation provides integrated help in Xcode for all public APIs and a set of additional tutorials and how-tos. -1. Copy `de.bitstadium.HockeySDK-iOS-3.6-b.2.docset` into ~`/Library/Developer/Shared/Documentation/DocSets` +1. Copy `de.bitstadium.HockeySDK-iOS-3.6.docset` into ~`/Library/Developer/Shared/Documentation/DocSets` -The documentation is also available via the following URL: [http://hockeyapp.net/help/sdk/ios/3.6-b.2/](http://hockeyapp.net/help/sdk/ios/3.6-b.2/) +The documentation is also available via the following URL: [http://hockeyapp.net/help/sdk/ios/3.6/](http://hockeyapp.net/help/sdk/ios/3.6/) ### Set up with xcconfig diff --git a/docs/Guide-Migration-Kits-template.md b/docs/Guide-Migration-Kits-template.md index e1e39b4e5f..2e78929546 100644 --- a/docs/Guide-Migration-Kits-template.md +++ b/docs/Guide-Migration-Kits-template.md @@ -131,6 +131,21 @@ The delegate `-(NSString *)customDeviceIdentifierForUpdateManager:(BITUpdateMana If you are using `PLCrashReporterCallbacks`, you now have to use `BITCrashManagerCallbacks` instead. This `struct` doesn't contain `version` any longer, so you have to remove that. Otherwise everything is the same. +If you did set the delegate per component, e.g. `[[BITHockeyManager sharedHockeyManager].crashManager setDelegate:self]`, you need to remove these and set the delegate this way only: `[[BITHockeyManager sharedHockeyManager] setDelegate:self]`. This will propagate the delegate to all SDK components. Make sure to set it before calling `startManager`! + +In addition you need to make sure all of these frameworks are linked: + +- `AssetsLibrary` +- `CoreText` +- `CoreGraphics` +- `Foundation` +- `MobileCoreServices` +- `QuartzCore` +- `QuickLook` +- `Security` +- `SystemConfiguration` +- `UIKit` + ## Troubleshooting diff --git a/docs/index.md b/docs/index.md index 8ac7068aee..d32d91bcd9 100644 --- a/docs/index.md +++ b/docs/index.md @@ -15,8 +15,8 @@ The main SDK class is `BITHockeyManager`. It initializes all modules and provide ## Prerequisites 1. Before you integrate HockeySDK into your own app, you should add the app to HockeyApp if you haven't already. Read [this how-to](http://support.hockeyapp.net/kb/how-tos/how-to-create-a-new-app) on how to do it. -2. We also assume that you already have a project in Xcode and that this project is opened in Xcode 4. -3. The SDK supports iOS 5.0 or newer. +2. We also assume that you already have a project in Xcode and that this project is opened in Xcode 5. +3. The SDK supports iOS 6.0 or newer. ## Release Notes