cocos creator接入微信登陆sdk ios篇

cocos creator接入微信登陆sdk ios篇

背景已经在Android篇里面交代过了,有兴趣的朋友可以再看看Android篇
步骤

  1. 微信开放平台下载ios平台所需要的sdk
  2. 在“info”标签栏的“URL type“添加“URL scheme”为你所注册的应用程序id
    在这里插入图片描述
  3. 在“info”标签栏的“LSApplicationQueriesSchemes“添加weixin
    在这里插入图片描述
  4. 将SDK文件中包含的 libWeChatSDK.a,WXApi.h,WXApiObject.h 三个文件添加到你所建的工程中,并将libWeChatSDK.a添加到依赖中
    在这里插入图片描述
    在这里插入图片描述
    微信开放平台新增了微信模块用户统计功能,便于开发者统计微信功能模块的用户使用和活跃情况。如果需要使用的话开发者需要在工程中链接上:SystemConfiguration.framework, libz.dylib, libsqlite3.0.dylib, libc++.dylib, Security.framework, CoreTelephony.framework, CFNetwork.framework,CoreGraphics.framework
  5. 在你的工程文件中选择Build Setting,在"Other Linker Flags"中加入"-force_load $(PROJECT_DIR)/ios/WeChatSDK1.8.4/libWeChatSDK.a(你的libWeChatSDK的位置)",在Search Paths中添加 libWeChatSDK.a ,WXApi.h,WXApiObject.h,文件所在位置(目录)
    在这里插入图片描述
  6. 在你需要使用微信终端API的文件中import WXApi.h 头文件,并增加 WXApiDelegate 协议
    在这里插入图片描述
  7. 以上都添加完成后,开始写代码逻辑
    a) 在主文件中引入WXApi.h,并定义好需要用到的参数code
    在这里插入图片描述
    b)在didFinishLaunchingWithOptions函数中向微信终端注册你的id
    在这里插入图片描述
    c) 重写handleOpenURL和openURL方法
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url {
    return  [WXApi handleOpenURL:url delegate:self];
}
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {
    BOOL isSuc = [WXApi handleOpenURL:url delegate:self];
    NSLog(@"url %@ isSuc %d",url,isSuc == YES ? 1 : 0);
    return  isSuc;
}

d)添加回调方法

-(void) onResp:(BaseResp*)resp{

    if([resp isKindOfClass:[SendAuthResp class]])
    {
        SendAuthResp *aresp = (SendAuthResp *)resp;
        if (aresp.errCode== 0) {
            //_wxCode = aresp.code;
            NSLog(@"resp.Code = %@",aresp.code);
            isGetCode=1;
            wxCode=aresp.code;
            NSLog(@"wxCode = %@",wxCode);
            [self callJsEngineCallBack:@"cc.jsEngineCallback" :wxCode];  //此处的cc.jsEngineCallback是creator里面js定义的全局函数
        }
    }
    
}
//定义参数的返回
-(void)callJsEngineCallBack:(NSString*) funcNameStr :(NSString*) contentStr
{
    NSLog(@"callJsEngineCallBack...");
    
    std::string funcName = [funcNameStr UTF8String];
    std::string param = [contentStr UTF8String];
    std::string jsCallStr = cocos2d::StringUtils::format("%s(\"%s\");",funcName.c_str(), param.c_str());
    NSLog(@"jsCallStr = %s", jsCallStr.c_str());
    ScriptingCore::getInstance()->evalString(jsCallStr.c_str());
}

e)定义触发微信登录的函数

+(void)sendAuthRequest
{
    //构造SendAuthReq结构体
    
    SendAuthReq* req =[[[SendAuthReq alloc ]init ] autorelease ];

    req.scope = @"snsapi_userinfo";

    req.state = @"123" ;

    //第三方向微信终端发送一个SendAuthReq消息结构

    [WXApi sendReq:req];
    //NSLog(@"微信登录 weixin login");
}

ios底层代码写好后,回到js中
首先需要点击登录按钮后拉取微信,需要调用OC代码中定义好的函数
在这里插入图片描述
微信登录成功后OC中拿到的code需要传到js当中,所以在js里面我们定义一个全局函数
在这里插入图片描述
全局函数中拿到了code,就可以拿去验证登录了,登录验证完成,再去调用一次底层代码清除掉code,这样就不会拿到重复的code了
在这里插入图片描述
在这里插入图片描述
微信登录完成!

  • 5
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Cocos Creator是一款流行的游戏开发引擎,它提供了方便的工具和功能,可以帮助开发者在多个平台上创建游戏,包括微信小游戏平台。 接入微信小游戏的步骤如下: 1. 准备工作: - 确保你已经安装并配置好了Cocos Creator开发环境。 - 在微信公众平台上注册一个小程序账号,并获取到小程序的AppID。 2. 创建项目: - 打开Cocos Creator,选择新建项目,并选择微信小游戏项目模板。 - 配置项目信息,包括项目名称、路径等。 3. 项目设置: - 在项目设置中,选择微信小游戏平台,并填写小程序的AppID。 - 根据需要配置其他相关设置,如屏幕适配、引擎版本等。 4. 开发游戏: - 使用Cocos Creator提供的编辑器和工具进行游戏开发。 - 可以使用JavaScript或TypeScript编写代码,创建场景、精灵、动画等。 5. 调试与预览: - 在Cocos Creator中,可以选择微信小游戏平台进行调试和预览。 - 在微信开发者工具中,导入Cocos Creator生成的小游戏项目,并进行调试、预览和测试。 6. 发布与上线: - 在Cocos Creator中,选择发布小游戏,并按照提示进行配置和打包。 - 将生成的小游戏包上传至微信开放平台,并进行审核和发布。 以上是接入微信小游戏的基本步骤,具体的细节和操作步骤可以参考Cocos Creator的官方文档和微信小游戏的开发文档,以获得更详细的指导。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值