HockeySDK 4.1.1 for iOS and 4.1.0 for MacOS and tvOS

2016-09-13

HockeySDK-iOS 4.1.1

TL;DR

We strongly suggest upgrading to version 4.1.1 of the SDK. If you are using our Feedback feature, upgrading to 4.1.1 requires additional steps on your side, though without upgrading the SDK you’re risking an App Store rejection.

We would have loved to give you a heads-up earlier, but we only learned of the possible rejection when Xcode 8 GM was released last week.

A bug on iOS 10 Simulator affects our testing our SDK there but doesn’t happen on device!


Feedback and iOS 10

Version 4.1.1 of the HockeySDK removes the Feedback feature from the default version of the SDK. The reason is that iOS 10 requires developers to add a usage string to their Info.plist in case they include the photos framework in their app. If this string is missing, the app will be rejected when submitting the app to the App Store. Since HockeyApp’s Feedback feature includes a dependency to the photos framework this means that if you include HockeyApp into your app, even developers who don’t use the Feedback feature are required to add the usage string. We don’t want to force this kind of dependency on you. Therefore, if you don’t use Feedback in your app, simply upgrade HockeySDK to version 4.1.1. If you are using Feedback, additional steps are required.

1. Use the new all-feature variant of the SDK

If you’re integrating the binary distribution directly, use HockeySDK.embeddedframework in the subfolder HockeySDKAllFeatures. If you’re using Cocoapods, use

pod "HockeySDK", :subspecs => ['AllFeaturesLib']

in your Podfile.

2. Add NSPhotoLibraryUsageDescription to your Info.plist

As of iOS 10, developers have to add Usage-Description-strings before using system frameworks with privacy implications. To learn more about this requirement, see this comprehensive writeup of this year’s WWDC Session on Privacy and have a look at how to localize Info.plist values.

Add a (localized) usage description string for the key NSPhotoLibraryUsageDescription to your Info.plist. Unfortunately, this process can’t be automated or done within our SDK, so you have to add the string manually.

We suggest the following text: To attach a photo to your feedback, we need access to your Photo Library.


HockeySDK-iOS and iOS 10 simulators

There appears to be an issue with the latest iOS 10 simulators (up to Xcode 8 Gold Master at the time of this writing) that makes it impossible to write values to the keychain. This affects previous versions of the SDK and results in an InternalInconsistencyException while HockeySDK-iOS 4.1.1 fails silently. This issue does not affect real devices and simulators for previous iOS versions. We have filed a radar with Apple and are hoping to get this issue resolved shortly, but you may encounter errors when testing HockeySDK in the simulator. As a workaround, we recommend testing HockeySDK on a physical device running iOS 10. If you do not have access to a real device, you can also try enabling Keychain Sharing in the Capabilities section of your app, as described in this StackOverflow post.


HockeySDK-Mac 4.1.0 and HockeySDK-tvOS 4.1.0

The latest update to our MacOS and tvOS SDK adds support for Custom Events and you can use it the same way as on iOS. To learn more about Custom Events, please read last week’s blog post about Custom Events for Everybody. Additionally we added some bug fixes, so please check out the release notes for HockeySDK-Mac and HockeySDK-tvOS.

Here is a short code snippet on how to use it in your MacOS application:

Objective-C

BITMetricsManager *metricsManager = [BITHockeyManager sharedHockeyManager].metricsManager;
[metricsManager trackEventWithName:eventName];

Swift

let metricsManager = BITHockeyManager.sharedHockeyManager().metricsManager
metricsManager.trackEventWithName(eventName)

If you have any questions or suggestions, please open a thread in our support forum or chat with us on HockeyCamp - our public Slack channel.


You can access the releases here:

iOS

Mac

tvOS