509 Commits

Author SHA1 Message Date
Stephan Diederich
c2c6558687 redo BITAuthenticator interface
given the good feedback we got, this is take 2
of the BITAuthenticator interface.
It's simplified, cleaned up and now allows full
control over the authentication process.
Major changes:
* manual mode
  Authenticator provides the bits to show the
  viewController to identify the user as well as to
  trigger validation on behalf of the developer.
* process separation
  identification and app-usage-restriction are now
  2 completely separated things.
* public identifier
  Authenticator now allows the developer to query
  parts of the information, e.g. the UDID or the user's
  emailaddy once identified
2013-09-23 23:15:56 +02:00
ipaterson
df7010ed8a Fixed recurring typo in manager initializers. 2013-09-23 13:39:59 -04:00
Stephan Diederich
0c7414e117 return an NSString instance instead of NSUUID 2013-09-23 16:22:22 +02:00
Stephan Diederich
39334c4d38 fix typo 2013-09-23 16:18:18 +02:00
Andreas Linde
8215900254 Update bit_appAnonID helper to make sure to get a UUID for an app installation and works through the app installation lifetime on the device
- Only get the UUID once per app runtime
- Cache the UUID in the keychain
- Gracefully fall back if some mechanisms won't work

TODO: In theory we could simply only ever use our own generated UUID and keep that via the keychain over the app lifetime instead of trying iOS 6 deviceIdentifier and alternatively the apps pathname
2013-09-23 15:25:50 +02:00
Andreas Linde
ea69a6fec5 Provide an iOS 5 compatible C helper for getting a UUID 2013-09-23 15:23:08 +02:00
Andreas Linde
1a3a5cb2e6 Clean up appIdentifier and keychain servicename to be defined only once 2013-09-23 15:22:37 +02:00
Andreas Linde
6ac703e3d7 Add ARM-64 as code type for crash reports 2013-09-21 23:46:47 +02:00
ipaterson
5808e5f799 The kBITAuthenticatorDidSkipOptionalLogin was not being reset upon cleanup because it is stored in NSUserDefaults rather than the keychain. 2013-09-20 13:19:56 -04:00
Stephan Diederich
3c59855edf show proper error when UDID it not allowed to access 2013-09-20 15:29:40 +02:00
Stephan Diederich
623c81e8d9 use keychain attribute thisDeviceOnly instead of custom validation
instead of storing the vendorIdentifier, use the keychain to store
the token on this device only
2013-09-20 15:29:40 +02:00
Stephan Diederich
01be3b2f6f fix typo 2013-09-20 15:29:40 +02:00
Stephan Diederich
4ad928683d fix passed in udid not validated
any udid could be passed, so it only
failed on next launch and showed the
view controller again.
2013-09-20 15:29:40 +02:00
Stephan Diederich
9243d012b9 cleanup
first authenticate depending on app state,
then register for appState changes.
2013-09-20 15:29:40 +02:00
Thomas Dohmke
14d4ccaddf Fix for userName, userEmail, and userID in crash reports. 2013-09-20 11:55:59 +02:00
Stephan Diederich
06d692adbf deprecate unused delegate method
refs #58
2013-09-19 20:37:19 +02:00
Stephan Diederich
7f0f159b56 cleanup public (private) interface
remove findVisibleWindow
2013-09-19 20:37:19 +02:00
Stephan Diederich
4ae09c9c4b allow developer to provide a custom parentViewController
instead of doing the presentation ourselves, use the
provided functionality in the HockeyBaseManager.
This also allows developer to provide their own viewController
by implementing
- (UIViewController *)viewControllerForHockeyManager:componentManager:; as
HockeyManager's delegate.

fixes #58
2013-09-19 20:37:02 +02:00
Andreas Linde
18ab864eef Documentation improvements for BITAuthenticator 2013-09-19 15:42:07 +02:00
Stephan Diederich
b30c0df468 fix typo 2013-09-19 13:34:02 +02:00
Andreas Linde
da76cc9f98 Instead of returning a nil view in the last commit, return an empty view controller 2013-09-19 12:55:10 +02:00
Andreas Linde
ff351edbf1 Make sure update checks are never don from the AppStore environment also if the Update UI wasn't removed from the release build 2013-09-19 12:51:55 +02:00
Mark LIlback
42b645d245 Update BITHockeyManagerDelegate.h
documentation fixes
2013-09-18 15:58:50 -04:00
Andreas Linde
6a7f3fce37 Change BITStoreUpdateManager default check interval to weekly
Since iOS 7 provides auto update, this setting is potentially less nagging on people having auto updates activated and where updates just didn't go through yet
2013-09-17 20:09:11 +02:00
Andreas Linde
e3d44f3709 Some more documentation improvements 2013-09-17 20:08:11 +02:00
Andreas Linde
9f28d4ae25 Workaround for iOS 7 bug with multiple modal view controllers in landscape on iPad
The feedback compose view will be moved out of the center position (only iPad in landscape and iOS 7) if the textview becomes firstResponder in viewDidAppear. Moving that into the next runloop fixes the issue.
2013-09-17 15:33:23 +02:00
Thomas Dohmke
0d67c5d2cd bit_appAnonID already checks for the identifierForVendor. 2013-09-17 13:45:06 +02:00
Thomas Dohmke
63882f30c0 Don't use identifierForVendor on iOS 5. 2013-09-17 13:39:56 +02:00
Andreas Linde
64d7700ad7 Add CPU_SUBTYPE_ARM_ALL to identify arm64, just in case
OS X lipo is returning this subtype, but we don't know for sure until we have a device
2013-09-16 14:27:41 +02:00
Andreas Linde
d7b334bc3a More documentation improvements 2013-09-16 14:13:27 +02:00
Andreas Linde
9e0db07308 Add support for background fetch in BITUpdateManager
Checks for updates will only be done if the app is in the foreground. This is just for double safety, since the BITAuthenticator already reports that the app is not validated in this case
2013-09-16 13:53:07 +02:00
Andreas Linde
3132b6d83b Add support for background fetch in BITStoreUpdateManager
Checking for new app store updates and showing an alert will only be done if the app is in the foreground
2013-09-16 13:45:18 +02:00
Andreas Linde
7e543830e6 Add support for background fetch in BITFeedbackManager
Fetching of new messages and showing an alert will only be done if the app is in the foreground
2013-09-16 13:38:55 +02:00
Andreas Linde
3273fdd06a Add support for background fetch in BITCrashManager
Automatic sending crash reports or alert asking the user for permission to send crash reports will only appear if the app is running in the foreground
2013-09-16 13:19:13 +02:00
Andreas Linde
88b50694d7 Documentation improvements 2013-09-16 12:53:40 +02:00
Stephan Diederich
fda20a3716 fix authentication dialog presented when application wakes up in background
when startManager is called, it doesn't mean  the app is actually active,
e.g. in iOS7 when a background download finished.
So check for active state in startManager and potentially wait for an
didBecomeActive notification.
2013-09-15 20:58:12 +02:00
Stephan Diederich
4ccae96cd9 fix duplicate count of installation
even in "optional identification"-mode set the "validated"
flag only once the use either did identify himself or skipped
it.
2013-09-15 18:02:11 +02:00
Stephan Diederich
a4bc855705 cleanup, remove additional early return 2013-09-15 17:57:01 +02:00
Andreas Linde
d83157d352 Fix a crash with the update view running on iOS 5 and 6 2013-09-15 17:20:36 +02:00
Andreas Linde
a193ce93ab Fix BITUpdateManagerViewController not showing any versions 2013-09-15 14:16:31 +02:00
Andreas Linde
69d1ee476f Fix documentation formatting of sample code 2013-09-15 14:01:54 +02:00
Kent Sutherland
aeb64a7da4 Pulled architecture detection out into a separate method to eliminate duplicate code.
Added break for CPU_SUBTYPE_ARM_V8 to avoid falling through to the default case.
2013-09-13 15:20:22 -04:00
Andreas Linde
955fe9c2eb Documentation updates and fixes 2013-09-13 17:29:00 +02:00
Stefan Haubold
e48ce59934 delay start of authentication manager 2013-09-13 16:41:51 +02:00
Stefan Haubold
7afedd5132 UIButtonTypeSystem isn't available before iOS 7 use own kBITButtonTypeSystem instead 2013-09-13 11:00:04 +02:00
Andreas Linde
64a168502e Move new auth strings into language file 2013-09-12 22:32:44 +02:00
Stephan Diederich
b23d4f3eb4 Merge branch 'feature/#19-verifyBetaUsers' into develop
meh, always update before doing work…
Conflicts:
	Classes/BITAuthenticator.m
	Classes/HockeySDK.h
2013-09-12 22:23:03 +02:00
Stephan Diederich
681c67a9dd redo authentication response parsing
* first check for HTTP Status codes
* then do parsing if it was a 200
* fix typo in error messages
* be more specific about the response
2013-09-12 22:16:44 +02:00
Andreas Linde
04c2976fd4 Add ARM64 define if not present on the build system 2013-09-12 18:40:42 +02:00
Thomas Dohmke
49e99fb884 Fix typo. 2013-09-12 15:05:43 +02:00