ios与unity3d的交互,及调用友盟分享SDK应注意事项

                 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


5UnityAppController中设置友盟的appkey

-(BOOL)application:(UIApplication*)application willFinishLaunchingWithOptions:(NSDictionary*)launchOptions

{

    [UMSocialData setAppKey:@"55667f6167e58e39ff003949"];

    [UMSocialWechatHandler setWXAppId:@"wx6a002b842e54c105" appSecret:@"3612d8b7a2a599df5c0f979b5d5edb65" url:@"http://www.umeng.com/social"];

    //设置手机QQ AppIdAppkey,和分享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_numberiOS这边发送消息的变量


UnitySendMessage("touchcode","code_number",touchcode.aResult.code_number);




3















评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值