1、ios设置Universal links
1.1、在xcode中配置URL Schemes
1.2、添加白名单
1.3、创建apple-app-site-association文件没有任何后缀、设置微信开放平台里面的Universal Links地址、把apple-app-site-association放在根目录下面也就是请求这个网址https://baidu.com/apple-app-site-association会把文件下载下来
{
"applinks": {
"apps": [],
"details": [
{
"appID": "U*********.com.qwe.asd", //你的Team ID.你的Bundle Identifier
"paths": [ "*" ]
},
{
"appID": "**********.com.qwe.zxc",
"paths": [ "*" ]
}
]
}
}
1.4、设置applinks、没有的话点击Capabillity添加这个选项、以applinks:开头+Universal Links微信后台配置的网址applinks:baidu.com
设置完成后、在真机调试中可以在safari浏览器中输入网址、下滑会出现进入项目按钮
2、安装React-Native-Wechat-Lib
2.1安装
npm install react-native-wechat-lib --save
2.2导入依赖
react-native link react-native-wechat-lib
如果links失败的话手动导入
2.2.1手动导入
点击libraries导入文件
点击target选中build Phases在linkBinary With Libraries中添加依赖
libRctWeChat.a
libsqlite3.0.tbd 是IOS中纯C语言操作Sqlite数据库的一个库文件
libc++.tbd
libz.tbd
CoreTelephony.framework //可以获取用户电话服务供应商的信息,以及当前蜂窝电话的状态
SystemConfiguration.framework //在电脑开启时,configd 守护线程便会开启,进行网络配置,而 SystemConfiguration.framework 则是与该线程进行会话,从而管理网络配置的
2.3、在AppDelegate.m文件中添加一下代码
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url {
return [WXApi handleOpenURL:url delegate:self];
}
- (BOOL)application:(UIApplication *)application
continueUserActivity:(NSUserActivity *)userActivity
restorationHandler:(void(^)(NSArray<id<UIUserActivityRestoring>> * __nullable
restorableObjects))restorationHandler {
// 触发回调方法
[RCTLinkingManager application:application continueUserActivity:userActivity restorationHandler:restorationHandler];
return [WXApi handleOpenUniversalLink:userActivity
delegate:self];
}
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url
options:(NSDictionary<NSString*, id> *)options
{
// Triggers a callback event.
// 触发回调事件
[RCTLinkingManager application:application openURL:url options:options];
return [WXApi handleOpenURL:url delegate:self];
}
2.4、在AppDelegate.h文件中添加![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/bf8581d27d4d7761cc223012c774e206.png)
3、集成完成
3.1、微信登陆
WeChat.registerApp("微信key和URL Schemes一样","https://baidu.com/");
WeChat.sendAuthRequest("snsapi_userinfo","raise_funds") //调用登陆
3.2、微信分享
WeChat.registerApp("微信key","https://baidu.com/");
WeChat.shareLocalImage({ //分享本地图片
imageUrl:imgSrc,
scene:0
}).then((val)=>{
console.log("调用过",val)
}).catch((err)=>{
console.log("失败了",err)
})