开发环境:
Xcode版本:11.5
Unity版本:2018.4.24f1
注:需要 Unity Pro 2018 for mac(游戏开发工具)附破解教程的可以添加微信私聊v2018.4.24f1破解版
一、首先配置应用的Universal Links
微信对Universal Links配置要求
a>Universal Links 必须支持https请求
b>Universal Links 配置的paths不能带query参数
c>微信使用Universal Links拉起第三方APP时,会在Universal Links末尾拼接路径和参数,因此App配置的paths必须加上通配符/*
Univeral Links示例:文件名:apple-app-site-association
{
"applinks": {
"apps": [],
"details": [{
"appID": "Team ID.Bundle Identifier",
"paths": ["*"]
}
]
}
}
注:
1、文件名apple-app-site-association不需要后缀名。
2、appID 中Team ID 可通过苹果开发者平台---》左菜单Membership---》找到Team ID值:如128LGFR841
3、appID中的Bundle Identifier可在Unity或Xcode打开项目Bundle Identifiler中找到,如:com.huanqiu.wxlogin
4、整合起来appID就是128LGFR841.com.huanqiu.wxlogin
5、paths可默认通配符*
配置好Universal Links,把apple-app-site-association文件上传到服务器,注:带有https域名的服务器下。
然后在微信开放平台配置IOS平台开发信息参数:前提是你已经在微信开放平台审核通过你的appid
二、导入核心微信SDK开发工具包--登录这块
1、开发工具包下载
2、主要包括libWeChatSDK.a,WXApi.h,WXApiObject.h三个。
3、把这三个放到Unity项目-->Plugins-->iOS文件夹下即可
三、核心唤起登录和反馈代码
3.1 在Plugins/iOS文件夹下新建ViewController.h头文件
//
// ViewController.h
// iosPlugins
//
// Created by os on 2020/4/10.
// Copyright © 2020 os. All rights reserved.
//
#import <Foundation/Foundation.h>
#import "Libraries/Plugins/iOS/WXApi.h"
NS_ASSUME_NONNULL_BEGIN
@interface ViewController : UIResponder<UIApplicationDelegate, WXApiDelegate>
+ (instancetype)shareManager;
@end
NS_ASSUME_NONNULL_END
3.2在Plugins/iOS文件夹下新建ViewController.m文件
//
// ViewController.m
// iosPlugins
//
// Created by os on 2020/4/10.
// Copyright © 2020 os. All rights reserved.
//
#import "ViewController.h"
@implementation ViewController
+(instancetype) shareManager
{
static dispatch_once_t onceToken;
static ViewController *instance;
dispatch_once(&onceToken, ^{
instance = [[ViewController alloc] init];
});
return instance;
}
//微信发送秦秋到第三方应用时,会回调到该方法
-(void) onReq:(BaseReq *)req {}
//第三方应用发送到微信的请求处理后的响应结果,会回调到该方法
-(void) onResp:(BaseResp *)resp
{
NSLog(@"微信响应");
//微信登录授权回调
if([resp isKindOfClass:[SendAuthResp class]])
{
SendAuthResp *temp = (SendAuthResp*)resp;
int errorCode = temp.errCode;
switch (errorCode) {//[NSUTF8StringEncoding temp.code]
case 0:
{
printf("登录