iOS touch code SDK使用方法
1导入 touchcode的四个库文件到工程中去
2头文件中 引入#import <TouchDecode/PTTouchDecode.h>
#import <TouchDecodeUI/TouchDecodeUI.h>
3在项目的主方法中加入实现touchcode的具体代码
3.1首先设置一个view(这里是touhview)可以进行互用
[touchview setUserInteractionEnabled:YES]; [touchview setMultipleTouchEnabled:YES];
3.2将这个view中设一个子view(这里是p_touhview)开启多点触摸
[p_touchview setMultipleTouchEnabled:YES];
3.3允许这个p_touchview调用touchcoder库
[self setTouchdecoder:[[PTTouchDecode alloc] initInView:p_touchview]];
3.4touchcoder库设置委托为当前类
[self.touchdecoder setDelegate:self];
3.5创建一个触摸反应区域,并设置它的大小坐标高宽都是400
self.mainView = [[PTSenderView alloc] initWithFrame:CGRectMake(self.view.frame.size.width-400,self.view.frame.size.height-400, 400,400)];
3.6调出用来识别的数据库,数据库文件为Hung_Hing_Little_Musician_5_iOS.bin
if(![mainView.touchdecoder addPoolFromFile:@"Hung_Hing_Little_Musician_5_iOS.bin" isPacked:YES AESKey:@"dbbaa5fae32c897571ae1049bbc65228"])
{
NSLog(@"Could not load Touchcode code set: %@", [mainView.touchdecoder getLoadError]);
}
3.7设置触摸事件管理器的大小,宽和高都用表明了WIDTH和HEIGHT
[[PTEventManager sharedManager] setCoreDimension: CGSizeMake(CORE_WIDTH,CORE_HEIGHT)];
[[PTEventManager sharedManager] setMediaDimension: CGSizeMake(ID1_WIDTH, ID1_HEIGHT)];
3.8创建一个探测区域,在这个区域内的触摸会有反应andOrientation:设置为不同的方向,
但如果给他设置好了方向,而不是none的话,会在横竖屏时有偏差
PTDetectionZone *detectionZone = [[PTDetectionZone alloc] initWithSize:newSize //detectionZoneRect
withSuperFrame:detectionZoneRect1
andOrientation:TOUCHCODE_DETECTION_ORIENTATION_NONE
andPositionOnBorderLandscape:500 andPositionOnBorderPortrait:500];
[mainView addSubview:detectionZone];
3.9当探测区域探测到数据后,调用函数TCActionSuccesfulDetected:
[detectionZone addTouchCodeDetectionTarget:self
action:@selector(TCActionSuccesfulDetected:)];
分享功能
1从友盟下载分享SDK
2在友盟上勾选好要使用的分享平台,友盟会把相关平台的sdk文件保存在这个库中
3在头文件中调用友盟分享的头文件
#import "UMSocial.h"
4友盟的官方文档有提示如果要使用QQ的话,就要引用这些系统库文件
Security.framework
libiconv.dylib
SystemConfiguration.framework
CoreGraphics.Framework
libsqlite3.dylib
CoreTelephony.framework
libstdc++.dylib
libz.dylib
5在UnityAppController中设置友盟的appkey值
-(BOOL)application:(UIApplication*)application willFinishLaunchingWithOptions:(NSDictionary*)launchOptions
{
[UMSocialData setAppKey:@"55667f6167e58e39ff003949"];
[UMSocialWechatHandler setWXAppId:@"wx6a002b842e54c105" appSecret:@"3612d8b7a2a599df5c0f979b5d5edb65" url:@"http://www.umeng.com/social"];
//设置手机QQ 的AppId,Appkey,和分享URL,需要#import "UMSocialQQHandler.h"
[UMSocialQQHandler setQQWithAppId:@"100424468" appKey:@"55667f6167e58e39ff003949" url:@"http://www.umeng.com/social"];
//[UMSocialFacebookHandler setFacebookAppID:@"1440390216179601" shareFacebookWithURL:@"http://www.umeng.com/social"];
//打开新浪微博的SSO开关,设置新浪微博回调地址,这里必须要和你在新浪微博后台设置的回调地址一致。若在新浪后台设置我们的回调地址,“http://sns.whalecloud.com/sina2/callback”,这里可以传nil ,需要 #import "UMSocialSinaHandler.h"
// [UMSocialSinaHandler openSSOWithRedirectURL:@"http://sns.whalecloud.com/sina2/callback"];
return YES;
}
6在需要使用的类中的主函数中调用的代码
弹出友盟的分享页面 其中shareToSnsNames:填写要共享的平台
+(void)OpenShare1
{
[UMSocialSnsService presentSnsIconSheetView:self
appKey:@"55667f6167e58e39ff003949"
shareText:@"友盟社会化分享让您快速实现分享等社会化功能,www.umeng.com/social"
shareImage:[UIImage imageNamed:@"icon.png"]
shareToSnsNames:[NSArray arrayWithObjects:UMShareToSina,UMShareToWechatSession,UMShareToWechatTimeline,UMShareToQQ,UMShareToQzone,UMShareToFacebook,nil]
delegate:self];
}
分享成功后提示消息
-(void)didFinishGetUMSocialDataInViewController:(UMSocialResponseEntity *)response
{
//根据`responseCode`得到发送结果,如果分享成功
if(response.responseCode == UMSResponseCodeSuccess)
{
//得到分享到的微博平台名
NSLog(@"share to sns name is %@",[[response.data allKeys] objectAtIndex:0]);
}
}
与Unity3d的交互
1Unity3d发送消息调用ios
举例如下,创建将要调用类(HelloViewController)的对象(hello),然后该类中的方法,如果有需要,就在调用方法时传递参数
extern "C"{
void OpenShare( NSString * photoPath)
{
HelloViewController *hello;
[hello OpenShare1];
}
}
2在ios上发送消息给Unity3d
举例如下
“touchcode"是Unity3d中接受消息的类
“code_number"是Unity3d中接受消息的参数
touchcode.aResult.code_number是iOS这边发送消息的变量
UnitySendMessage("touchcode","code_number",touchcode.aResult.code_number);
3