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
|