Merge pull request #1131 from friedbunny/remote-notifications-ios7

Metrics: Remote-notifications-enabled support for iOS 7
This commit is contained in:
Minh Nguyễn
2015-03-26 22:10:26 -07:00

View File

@@ -365,10 +365,23 @@ mbgl::DefaultFileSource *mbglFileSource = nullptr;
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0), ^{
NSMutableDictionary *evt = [[NSMutableDictionary alloc] init];
[evt setValue:[[NSNumber alloc] initWithDouble:mbglMap->getLatLng().latitude] forKey:@"lat"];
[evt setValue:[[NSNumber alloc] initWithDouble:mbglMap->getLatLng().longitude] forKey:@"lng"];
[evt setValue:[[NSNumber alloc] initWithDouble:mbglMap->getZoom()] forKey:@"zoom"];
[evt setValue:[[NSNumber alloc] initWithBool:[[UIApplication sharedApplication] isRegisteredForRemoteNotifications]] forKey:@"enabled.push"];
[evt setValue:@(mbglMap->getLatLng().latitude) forKey:@"lat"];
[evt setValue:@(mbglMap->getLatLng().longitude) forKey:@"lng"];
[evt setValue:@(mbglMap->getZoom()) forKey:@"zoom"];
BOOL isRegisteredForRemoteNotifications;
if ([[UIApplication sharedApplication] respondsToSelector:@selector(isRegisteredForRemoteNotifications)]) {
// iOS 8+
isRegisteredForRemoteNotifications = [[UIApplication sharedApplication] isRegisteredForRemoteNotifications];
} else {
// iOS 7
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
UIRemoteNotificationType types = [[UIApplication sharedApplication] enabledRemoteNotificationTypes];
isRegisteredForRemoteNotifications = (types == UIRemoteNotificationTypeNone) ? NO : YES;
#pragma clang diagnostic pop
}
[evt setValue:@(isRegisteredForRemoteNotifications) forKey:@"enabled.push"];
NSString *email = @"Unknown";
Class MFMailComposeViewController = NSClassFromString(@"MFMailComposeViewController");