upgrade
This commit is contained in:
12
Assets/trCRM/Plugins/iOS/CallListner.h
Normal file
12
Assets/trCRM/Plugins/iOS/CallListner.h
Normal file
@@ -0,0 +1,12 @@
|
||||
|
||||
|
||||
#ifndef CallListner_h
|
||||
#define CallListner_h
|
||||
#import <CoreTelephony/CTCallCenter.h>
|
||||
#import <CoreTelephony/CTCall.h>
|
||||
|
||||
@interface CallListner : NSObject
|
||||
@property (assign, nonatomic)NSString *unityListner;
|
||||
@property(nonatomic, strong) CTCallCenter* callCenter;
|
||||
@end
|
||||
#endif
|
||||
27
Assets/trCRM/Plugins/iOS/CallListner.h.meta
Normal file
27
Assets/trCRM/Plugins/iOS/CallListner.h.meta
Normal file
@@ -0,0 +1,27 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 03672e374aa1342ef8be44593f8ebab0
|
||||
PluginImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
iconMap: {}
|
||||
executionOrder: {}
|
||||
defineConstraints: []
|
||||
isPreloaded: 0
|
||||
isOverridable: 0
|
||||
isExplicitlyReferenced: 0
|
||||
validateReferences: 1
|
||||
platformData:
|
||||
- first:
|
||||
Any:
|
||||
second:
|
||||
enabled: 1
|
||||
settings: {}
|
||||
- first:
|
||||
Editor: Editor
|
||||
second:
|
||||
enabled: 0
|
||||
settings:
|
||||
DefaultValueInitialized: true
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
87
Assets/trCRM/Plugins/iOS/CallListner.m
Normal file
87
Assets/trCRM/Plugins/iOS/CallListner.m
Normal file
@@ -0,0 +1,87 @@
|
||||
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
#import "CallListner.h"
|
||||
|
||||
static CallListner* _CallListner;
|
||||
|
||||
@implementation CallListner
|
||||
|
||||
+(CallListner*) instance
|
||||
{
|
||||
if (_CallListner != nil) {
|
||||
return _CallListner;
|
||||
} else {
|
||||
_CallListner =(CallListner*)([[CallListner alloc] init]);
|
||||
|
||||
}
|
||||
return _CallListner;
|
||||
}
|
||||
|
||||
- (id)init:(NSString *)listner
|
||||
{
|
||||
_unityListner = listner;
|
||||
[self initCallCenter];
|
||||
|
||||
return self;
|
||||
}
|
||||
|
||||
- (void)initCallCenter {
|
||||
bool *isComingCall = false;
|
||||
_callCenter = [[CTCallCenter alloc] init];
|
||||
_callCenter.callEventHandler = ^(CTCall* call) {
|
||||
dispatch_async(dispatch_get_main_queue(), ^{
|
||||
if ([call.callState isEqualToString:CTCallStateDisconnected]) {
|
||||
// NSLog("CTCallCenter:Call has been disconnected");
|
||||
NSLog(@"电话挂断");
|
||||
if(isComingCall) {
|
||||
[self sendUnityMessage:@"onEndincomeCall", ""]
|
||||
} else {
|
||||
[self sendUnityMessage:@"onEndOutGoingCall", ""]
|
||||
}
|
||||
} else if ([call.callState isEqualToString:CTCallStateConnected]) {
|
||||
// NSLog("CTCallCenter:Callhasjustbeen connected");
|
||||
NSLog(@"电话接通");
|
||||
if(isComingCall) {
|
||||
[self sendUnityMessage:@"onConectedComingCall", ""]
|
||||
} else {
|
||||
[self sendUnityMessage:@"onConectedOutGoingCall", ""]
|
||||
}
|
||||
} else if ([call.callState isEqualToString:CTCallStateIncoming]) {
|
||||
// NSLog("CTCallCenter:Call is incoming");
|
||||
NSLog(@"电话被叫");
|
||||
isComingCall = true;
|
||||
} else if ([call.callState isEqualToString:CTCallStateDialing]) {
|
||||
// NSLog("CTCallCenter:Call is Dialing");
|
||||
NSLog(@"电话主动拨打电话");
|
||||
isComingCall = false;
|
||||
} else {
|
||||
// NSLog("CTCallCenter:Nothing is done");
|
||||
NSLog(@"电话其他状态");
|
||||
}
|
||||
});
|
||||
};
|
||||
}
|
||||
|
||||
-(void) sendUnityMessage:(const NSString*)method with:(NSString*)msg
|
||||
{
|
||||
if(_unityListner != nil && msg != nil) {
|
||||
UnitySendMessage([_unityListner UTF8String],
|
||||
[method UTF8String], [msg UTF8String]);
|
||||
}
|
||||
}
|
||||
|
||||
@end
|
||||
|
||||
#if __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
void _init(const char* goName);
|
||||
|
||||
#if __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
void _init(const char* goName) {
|
||||
[[CallListner instance] init:[NSString stringWithUTF8String:goName]];
|
||||
}
|
||||
104
Assets/trCRM/Plugins/iOS/CallListner.m.meta
Normal file
104
Assets/trCRM/Plugins/iOS/CallListner.m.meta
Normal file
@@ -0,0 +1,104 @@
|
||||
fileFormatVersion: 2
|
||||
guid: a9a9ea5d9e8164a519f0906e5dd1d0bd
|
||||
PluginImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
iconMap: {}
|
||||
executionOrder: {}
|
||||
defineConstraints: []
|
||||
isPreloaded: 0
|
||||
isOverridable: 0
|
||||
isExplicitlyReferenced: 0
|
||||
validateReferences: 1
|
||||
platformData:
|
||||
- first:
|
||||
'': Any
|
||||
second:
|
||||
enabled: 0
|
||||
settings:
|
||||
Exclude Android: 1
|
||||
Exclude Editor: 1
|
||||
Exclude Linux: 1
|
||||
Exclude Linux64: 1
|
||||
Exclude LinuxUniversal: 1
|
||||
Exclude OSXUniversal: 1
|
||||
Exclude Win: 1
|
||||
Exclude Win64: 1
|
||||
Exclude iOS: 0
|
||||
- first:
|
||||
Android: Android
|
||||
second:
|
||||
enabled: 0
|
||||
settings:
|
||||
CPU: ARMv7
|
||||
- first:
|
||||
Any:
|
||||
second:
|
||||
enabled: 0
|
||||
settings: {}
|
||||
- first:
|
||||
Editor: Editor
|
||||
second:
|
||||
enabled: 0
|
||||
settings:
|
||||
CPU: AnyCPU
|
||||
DefaultValueInitialized: true
|
||||
OS: AnyOS
|
||||
- first:
|
||||
Facebook: Win
|
||||
second:
|
||||
enabled: 0
|
||||
settings:
|
||||
CPU: AnyCPU
|
||||
- first:
|
||||
Facebook: Win64
|
||||
second:
|
||||
enabled: 0
|
||||
settings:
|
||||
CPU: AnyCPU
|
||||
- first:
|
||||
Standalone: Linux
|
||||
second:
|
||||
enabled: 0
|
||||
settings:
|
||||
CPU: x86
|
||||
- first:
|
||||
Standalone: Linux64
|
||||
second:
|
||||
enabled: 0
|
||||
settings:
|
||||
CPU: x86_64
|
||||
- first:
|
||||
Standalone: OSXUniversal
|
||||
second:
|
||||
enabled: 0
|
||||
settings:
|
||||
CPU: AnyCPU
|
||||
- first:
|
||||
Standalone: Win
|
||||
second:
|
||||
enabled: 0
|
||||
settings:
|
||||
CPU: AnyCPU
|
||||
- first:
|
||||
Standalone: Win64
|
||||
second:
|
||||
enabled: 0
|
||||
settings:
|
||||
CPU: AnyCPU
|
||||
- first:
|
||||
iPhone: iOS
|
||||
second:
|
||||
enabled: 1
|
||||
settings:
|
||||
AddToEmbeddedBinaries: false
|
||||
CompileFlags:
|
||||
FrameworkDependencies: CoreTelephony;
|
||||
- first:
|
||||
tvOS: tvOS
|
||||
second:
|
||||
enabled: 1
|
||||
settings: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Reference in New Issue
Block a user