100 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			Mathematica
		
	
	
	
		
		
			
		
	
	
			100 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			Mathematica
		
	
	
	
| 
								 | 
							
								//
							 | 
						||
| 
								 | 
							
								//  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
							 |