1.微信登陆分享和qq的登陆分享 (图文挺长的,有兴趣的可以看看。)
微信sdk说明(官网地址)
QQSDK 说明 (官网地址)
http://wiki.open.qq.com/wiki/IOS_API%E8%B0%83%E7%94%A8%E8%AF%B4%E6%98%8E
http://wiki.connect.qq.com/get_simple_userinfo
首先 需要在微信开放平台注册开发者帐号,并获得相应的AppID和AppSecret,申请微信登录且通过审核后,可开始接入流程。
在qq开发平台获取QQID
我们先到官网下载微信的sdk。按照官网介绍来一步一步配置。理论上配置下来不会有什么问题的(配置的太多,略过吧)
这里有1个值得注意的地方是在swift 桥接OC 的时候,
由于 微信使用的是压缩的 .a 文件, 所用桥接的时候只要使用
#import"WXApi.h"
然而qq使用的是.framework,应该使用
<#import>
Bolue-Bridging-Header.h 截图
这里说下LSApplicationQueriesSchemes 也叫URL Schemes白名单
iOS9增加了隐私控制,自己的应用如果需要调用它应用,需要在工程的info.plist中添加 ,
如果不添加该项,使用canOpenURL:判断应用是否安装时会报错。
在info 的url types 中添加url scheme
什么是url scheme呢。我有截图
可以理解为LSApplicationQueriesSchemes 添加了之后,允许2个APP 直接通信 ,
url schemes 添加之后,微信和qq 就能识别打开他们的app的身份、因为我们把appid 传给了微信,qq同理
到此 2个APP 直接就能互相打开了
微信登陆 和 QQ 登陆 见 ThirdLogin.swift ,分四步
拉起登陆请求-微信
拉起登陆请求- qq
上面核心代码能实现 微信和qq注册功能
微信采用的是 nsnotification
qq 采用的是TencentSessionDelegate 代理模式
微信 说明
1. 第三方发起微信授权登录请求,微信用户允许授权第三方应用后,微信会拉起应用或重定向到第三方网站,并且带上授权临时票据code参数;
2. 通过code参数加上AppID和AppSecret等,通过API换取access_token;
3. 通过access_token进行接口调用,获取用户基本数据资源或帮助用户实现基本操作。
如图
===========分享功能===== 相对简单==========
文件是
Wechat+Extension.swift
QQShare+Extension.swift
里面有详细的描述
分享功能WXApiShare, 主要需要
/**
- parameter scence:请求发送场景默认聊天界面
- parameter image:消息缩略图
- parameter title:标题
- parameter description:描述内容
- parameter url:地址
*/
分享或收藏的目标场景,通过修改scene场景值实现。
发送到聊天界面——WXSceneSession
发送到朋友圈——WXSceneTimeline
添加到微信收藏——WXSceneFavorite
分享前判断微信是否支持
判断qq是否支持
拉起微信分享功能的代码是 , 需要组装个WXMediaMessage
拉起qq分享的代码
==========目前还缺个添加收藏图标===========
完结
作者:二月长河
链接:https://www.jianshu.com/p/c1df5344a2d4