Skip to content

Commit

Permalink
Update the social code to run async and support ios7, 8 and 9
Browse files Browse the repository at this point in the history
  • Loading branch information
treacher committed May 23, 2016
1 parent 5857fbc commit afea7f0
Showing 1 changed file with 13 additions and 12 deletions.
25 changes: 13 additions & 12 deletions Assets/Plugins/iOS/FrispGames/Social/FGSocial.mm
Original file line number Diff line number Diff line change
@@ -1,25 +1,26 @@
#import "FGSocial.h"
#define IPAD UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad

@implementation FGSocial

- (void) share:(NSString *)text media:(NSString *) media {
UIActivityViewController *socialViewController;

// Create image from image data
NSData *imageData = [[NSData alloc] initWithBase64EncodedString:media options: 0];
UIImage *image = [[UIImage alloc] initWithData:imageData];

socialViewController = [[UIActivityViewController alloc] initWithActivityItems:@[text, image] applicationActivities:nil];
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
UIActivityViewController *socialViewController = [[UIActivityViewController alloc] initWithActivityItems:@[text, image] applicationActivities:nil];

UIViewController *viewController = UnityGetGLViewController();

// required by iOS 8.
if([socialViewController respondsToSelector:@selector(popoverPresentationController)]) {
socialViewController.popoverPresentationController.sourceView = viewController.view;
}

UIViewController *rootViewController = [[[[UIApplication sharedApplication]delegate] window] rootViewController];
if (IPAD) {
CGRect midScreen = CGRectMake(rootViewController.view.frame.size.width/2, rootViewController.view.frame.size.height/4, 0, 0);
UIPopoverController *popup = [[UIPopoverController alloc] initWithContentViewController:socialViewController];
[popup presentPopoverFromRect:midScreen inView:rootViewController.view permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];
} else {
[rootViewController presentViewController:socialViewController animated:YES completion:nil];
}
dispatch_async(dispatch_get_main_queue(), ^{
[viewController presentViewController:socialViewController animated:YES completion:nil];
});
});
}

extern "C" {
Expand Down

0 comments on commit afea7f0

Please sign in to comment.