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