100 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			Objective-C
		
	
	
	
			
		
		
	
	
			100 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			Objective-C
		
	
	
	
| //
 | |
| //  UUIDManager.m
 | |
| //  Unity-iPhone
 | |
| //
 | |
| //  Created by fotoable on 2020/6/29.
 | |
| //
 | |
| 
 | |
| #import<AudioToolbox/AudioToolbox.h>
 | |
| #import "NativeTool.h"
 | |
| //#import "JKRBDMuteSwitch/RBDMuteSwitch.h"
 | |
| 
 | |
| @implementation NativeTool
 | |
| 
 | |
| BoolResultDel resultDel;
 | |
| 
 | |
| static NativeTool *mInstance;
 | |
| 
 | |
| +(NativeTool *)getInstance
 | |
| {
 | |
|     if (mInstance == nil)
 | |
|     {
 | |
|         mInstance = [[NativeTool alloc] init];
 | |
|     }
 | |
|     return mInstance;
 | |
| }
 | |
| 
 | |
| -(void)shake:(int)pType Intensity:(float)pIntensity
 | |
| {
 | |
|     UIImpactFeedbackStyle tStyle = UIImpactFeedbackStyleLight;
 | |
|     if(pType == 1)
 | |
|     {
 | |
|         tStyle = UIImpactFeedbackStyleMedium;
 | |
|     }
 | |
|     else if(pType == 2)
 | |
|     {
 | |
|         tStyle = UIImpactFeedbackStyleHeavy;
 | |
|     }
 | |
|     
 | |
|     UIImpactFeedbackGenerator *generator = [[UIImpactFeedbackGenerator alloc] initWithStyle:tStyle];
 | |
|     if (@available(iOS 13.0, *))
 | |
|     {
 | |
|         [generator impactOccurredWithIntensity:pIntensity];
 | |
|     }
 | |
|     else
 | |
|     {
 | |
|         [generator impactOccurred];
 | |
|     }
 | |
| }
 | |
| 
 | |
| -(void)shareWithTitle:(NSString *)pTitle Url:(NSString *)pUrl ResultCallback:(nonnull BoolResultDel)pResultDel
 | |
| {
 | |
|     NSMutableArray *sharingItems = [NSMutableArray new];
 | |
|     if (pTitle && pTitle.length > 0)
 | |
|     {
 | |
|         [sharingItems addObject:pTitle];
 | |
|     }
 | |
| //    if (imageDataString && imageDataString.length > 0)
 | |
| //    {
 | |
| //        NSData *imageData = [[NSData alloc] initWithBase64EncodedString:imageDataString options:0];
 | |
| //        UIImage *image = [[UIImage alloc] initWithData:imageData];
 | |
| //
 | |
| //        [sharingItems addObject:image];
 | |
| //    }
 | |
|     if (pUrl && pUrl.length > 0)
 | |
|     {
 | |
|         NSURL *shareUrl = [NSURL URLWithString:pUrl];
 | |
|         [sharingItems addObject:shareUrl];
 | |
|     }
 | |
| 
 | |
|     UIActivityViewController *activityViewController = [[UIActivityViewController alloc] initWithActivityItems:sharingItems applicationActivities:nil];
 | |
|     activityViewController.popoverPresentationController.sourceView = UnityGetGLViewController().view;
 | |
|     activityViewController.popoverPresentationController.sourceRect = CGRectMake(UnityGetGLViewController().view.frame.size.width/2, UnityGetGLViewController().view.frame.size.height/4, 0, 0);
 | |
|     
 | |
|     activityViewController.modalInPopover = YES;
 | |
|     
 | |
|     //回调
 | |
|     if ([UIDevice currentDevice].systemVersion.floatValue >= 8.0)
 | |
|     {
 | |
|         // ios8.0 之后用此方法回调
 | |
|         UIActivityViewControllerCompletionWithItemsHandler itemsBlock = ^(UIActivityType __nullable activityType, BOOL completed, NSArray * __nullable returnedItems, NSError * __nullable activityError)
 | |
|         {
 | |
|             if(pResultDel != NULL) pResultDel(completed);
 | |
|         };
 | |
|         activityViewController.completionWithItemsHandler = itemsBlock;
 | |
|     }
 | |
|     else
 | |
|     {
 | |
|         // ios8.0 之前用此方法回调
 | |
|         UIActivityViewControllerCompletionHandler handlerBlock = ^(UIActivityType __nullable activityType, BOOL completed)
 | |
|         {
 | |
|             if(pResultDel != NULL) pResultDel(completed);
 | |
|         };
 | |
|         activityViewController.completionHandler = handlerBlock;
 | |
|     }
 | |
| 
 | |
|     [UnityGetGLViewController() presentViewController:activityViewController animated:YES completion:nil];
 | |
| }
 | |
| 
 | |
| @end
 |